myiam_flutter_sdk 0.8.1 copy "myiam_flutter_sdk: ^0.8.1" to clipboard
myiam_flutter_sdk: ^0.8.1 copied to clipboard

Authentication SDK for MyIAM service in Flutter.

0.8.1 — 2026-07-16 #

  • SecureTokenStorage 저장 방식을 필드별 개별 키 병렬 write에서 단일 JSON 번들 write로 변경 — 병렬 write 도중 프로세스가 종료(백그라운드 강제 종료, 크래시 등)되면 일부 필드만 갱신된 채 남는 partial write 위험을 제거. 기존에 개별 키로 저장된 데이터는 최초 read 시 번들로 자동 마이그레이션되어 하위 호환됨
  • TokenStorage 인터페이스를 myiam_flutter_sdk.dart 배럴에서 export — tokenStorageProvider(Provider<TokenStorage>)를 커스텀 구현으로 오버라이드하려는 소비자가 // ignore: implementation_imports 없이 정식으로 implements TokenStorage할 수 있도록 함

0.8.0 — 2026-05-29 #

  • Device Authorization Grant (RFC 8628) 지원 — WebView를 사용할 수 없는 환경(TV, 데스크톱, CLI 등)에서 외부 브라우저를 통한 인증 플로우 추가. DeviceLoginScreen 위젯(user code 표시·복사, 카운트다운, 재시도 UI)과 DeviceLoginController Notifier 제공. DeviceAuthClient/oauth2/device_authorization 요청 및 토큰 폴링 처리
  • autoSignup 파라미터 추가 — LoginScreen, SignupScreen, LoginWebView, SignupWebViewbool? autoSignup 파라미터 추가. OAuth2 URL에 auto_signup 쿼리 파라미터로 전달되어 미가입 사용자 자동 가입 여부를 서버에 지시. null(기본값)이면 서버 설정을 따름
  • 로그아웃 시 서버 토큰 무효화 — AuthNotifier.logout()이 로컬 정리 전에 api.deleteToken()으로 서버 측 access token + refresh token을 무효화. 서버 요청 실패 시에도 로컬 정리는 항상 진행
  • 의존성 추가: url_launcher ^6.3.0 (Device Login 브라우저 열기용)

0.7.10 — 2026-05-16 #

  • MyiamLogger 도입 — MyiamLogger.enabled = true로 SDK 내부 디버그 로그 활성화 가능 (기본 비활성). OAuthWebView 콜백 흐름에 상세 로그 추가
  • pending redirect 큐잉 — Custom Tab dismiss 중 도착한 OAuth 콜백이 유실되던 문제 수정
  • iOS Custom Tab 재진입 안정화 — SFSafariViewController dismiss 애니메이션 완료 대기 추가
  • LoginWebView/SignupWebView PKCE 재생성 방지 — ConsumerStatefulWidget으로 변환하여 initState()에서 1회만 생성

0.7.9 — 2026-05-16 #

  • OAuthWebView에서 로그인→가입 전환 콜백 처리 추가 — SNS 로그인(Custom Tab) 중 미가입 사용자가 가입으로 전환되면 signupRedirectUri(?token=...)를 인식하지 못하던 문제 수정. _isCallbackUri() 헬퍼로 redirectUri·signupRedirectUri 통합 판별, _handleSignupToken()으로 completeRegistration 호출 후 2차 OAuth 콜백 처리
  • 콜백 인터셉트 테스트 추가

0.7.8 — 2026-05-01 #

  • Windows InAppWebView에서 회원가입·로그아웃 리다이렉트가 감지되지 않던 문제 수정 — 0.7.7에서 로그인(OAuthWebView)에만 적용했던 onLoadStart 폴백을 SignupOAuthWebView·LogoutWebView에도 동일하게 적용

0.7.7 — 2026-04-28 #

  • Windows InAppWebView에서 custom scheme 리다이렉트가 감지되지 않던 문제 수정 — WebView2는 custom scheme URL에 대해 shouldOverrideUrlLoading을 발화하지 않으므로, Windows에서만 useShouldOverrideUrlLoading=false로 비활성화하고 onLoadStart로 리다이렉트를 감지하도록 변경. 다른 플랫폼(macOS/iOS/Android)은 기존 동작 유지

0.7.3 — 2026-04-28 #

  • Windows 플랫폼에서 ChromeSafariBrowser 미지원으로 인한 런타임 에러 수정 — resolveWebViewMode가 Windows에서도 inAppWebView로 자동 폴백
  • MyiamAction.launch() static 메서드에 플랫폼 가드 추가 — macOS·Windows 등 Custom Tab 미지원 환경에서 onError 콜백으로 안내 후 조기 반환

0.7.2 — 2026-04-27 #

  • RegisterCompleteUser.profiles 필드를 nullable(UserProfiles?)로 변경 — completeRegistration API 응답에서 user.profilesnull일 때 발생하던 런타임 캐스팅 에러 수정

0.7.1 — 2026-04-26 #

  • 전체 의존성 최신화: flutter_riverpod 3.3.1, flutter_secure_storage 10.0.0, app_links 7.0.0, http 1.6.0, crypto 3.0.7, mocktail 1.0.5, flutter_lints 6.0.0
  • Riverpod 3 마이그레이션: StateNotifier/StateNotifierProviderNotifier/NotifierProvider
  • SecureTokenStorage: deprecated encryptedSharedPreferences 제거 (flutter_secure_storage 10 대응)

0.7.0 — 2026-04-24 #

  • 자동 토큰 갱신: TokenRefreshPolicy 도입 — expiresIn × thresholdFactor (기본 0.8) 시점에 자동 갱신, 실패 시 지수 백오프 재시도 (30s → 60s → 120s → 300s). MyiamConfig.refreshPolicy로 설정하며 null로 비활성화 가능
  • 네트워크 오류 시 세션 보존: refreshToken()MyiamApiError(서버 거부)에서만 로그아웃 처리. 네트워크 일시 장애는 세션을 보존하고 자동 재시도 스케줄
  • 세션 복원 개선: 앱 재시작 시 SecureStorage에 저장된 토큰 + 사용자 정보를 동시 복원하여 즉시 AuthStateAuthenticated 상태로 전환
  • setAuthenticated() 반환 타입 voidFuture<void> — 토큰 + 사용자 정보를 SecureStorage에 저장 완료까지 대기
  • TokenStorage 인터페이스 확장: readUser(), writeUser(), deleteUser() 추가
  • SecureTokenStorage: iOS/macOS Keychain first_unlock 접근성 설정 + macOS 중복 항목 workaround
  • HTTP 클라이언트 관리 개선: 외부 주입 없으면 요청별 http.Client 생성·해제 (connection leak 방지)
  • MyiamApiError.fromResponse() factory 추가 — HTTP 응답 에러 파싱 중앙화
  • MyiamUser.toJson() 추가
  • 토큰 갱신 이력 추적: TokenRefreshRecord 모델 + AuthNotifier.refreshHistory getter

0.6.0 — 2026-04-19 #

  • MyiamAction/MyiamWebPageonRedirect(Uri uri)? 콜백 추가 — 완료 URL의 query 파라미터(?token=... 등)를 필요로 하는 플로우(수동 탈퇴, 수동가입 등)에 사용. 기존 onComplete와 병행 호출되며 호환성 유지
  • MyiamConfigderegisterRedirectScheme/deregisterRedirectHost/deregisterRedirectUri 추가 — 수동 탈퇴 콜백 URL을 OAuth2 redirect_uri와 별개로 지정. MyIAM 콘솔의 "수동 탈퇴 콜백" 필드 전용. 미지정 시 redirectUri로 fallback (signup 패턴과 동일)
  • 버그 픽스: MyiamAction이 macOS에서 크래시하던 문제 해결. _preparewidget.mode 대신 _effectiveMode(resolveWebViewMode 적용)를 체크해 macOS에서 InAppWebView로 정상 fallback

0.5.0 — 2026-04-18 #

  • 수동 회원가입 지원: SignupWebView가 수동가입 1차 콜백(?token=)을 감지하면 api.completeRegistration을 자동 호출한 뒤 응답 redirect_url로 재진입해 2차 콜백(?code=&state=)까지 한 흐름으로 처리. 자동로그인/사용자 로그인 두 케이스 모두 동일한 PKCE verifier로 커버됨
  • MyiamConfigsignupRedirectScheme/signupRedirectHost/signupRedirectUri 추가 — 수동가입 콜백 URL을 OAuth2 redirect_uri와 별개로 설정. 수동가입 콜백은 OAuth2 파라미터에 포함되지 않으며 MyIAM 콘솔의 "수동가입 콜백" 필드에만 등록. 미지정 시 redirectUri로 fallback

0.4.0 — 2026-04-16 #

  • MyiamAction: mode 파라미터 추가 — customTab (Chrome Custom Tab) / inAppWebView 선택 가능
  • MyiamAction.launch() static 메서드 추가 — 위젯 없이 Custom Tab으로 사용자 액션 실행
  • MyiamWebPage: transparentBackground 설정 추가

0.3.6 — 2026-04-09 #

  • completePreparation API 메서드 추가
  • completeRegistration 파라미터 변경: 위치 파라미터 → named 파라미터 {token, customFields?} body 방식

0.3.5 — 2026-04-01 #

  • LoginScreen/SignupScreen: onBack 미지정 시 기본 Navigator.pop() 동작 추가
  • 디버그 코드 및 미사용 코드 제거

0.3.4 — 2026-03-29 #

  • InAppWebView focus 관련 변경 revert (0.3.2–0.3.3)

0.3.0 — 2026-03-28 #

  • 최초 릴리스
  • OAuth2 PKCE 인증 (로그인, 회원가입, 로그아웃)
  • Riverpod 상태 관리
  • 보안 토큰 저장소
  • MyIAM API 클라이언트
0
likes
125
points
146
downloads

Documentation

API reference

Publisher

verified publishermyiam.io

Weekly Downloads

Authentication SDK for MyIAM service in Flutter.

Homepage

License

MIT (license)

Dependencies

app_links, crypto, flutter, flutter_inappwebview, flutter_riverpod, flutter_secure_storage, http, url_launcher

More

Packages that depend on myiam_flutter_sdk