로그아웃 SDK 대기 제거 · 온보딩 국가 시트 · 프로필 머리줄
This commit is contained in:
@@ -241,13 +241,19 @@ class AuthRepository extends ChangeNotifier {
|
||||
}
|
||||
}
|
||||
|
||||
// SDK 로그아웃(Google · Kakao 등)은 기다리지 않는다. 로그인 상태를 정하는 것은 Firebase 세션이고,
|
||||
// SDK 쪽은 다음 로그인의 자동 선택을 지우는 정리일 뿐이다. Android Google 은 Credential Manager
|
||||
// `clearCredentialStateAsync` 가 응답 없이 멈춰 3초 시간 제한을 다 쓰고, 그 TimeoutException 이
|
||||
// 처리되지 않은 채 로그에 남았다(10/6 실기기). 실패는 로그로만 남긴다.
|
||||
if (provider != null) {
|
||||
unawaited(
|
||||
provider.signOut().catchError((Object e) {
|
||||
debugPrint('[Auth] provider sign-out skipped: $e');
|
||||
}),
|
||||
);
|
||||
}
|
||||
try {
|
||||
await Future.wait([
|
||||
// SDK 로그아웃(Google · Kakao 등)이 응답 없이 멈춰도 로컬 로그아웃은 한다.
|
||||
if (provider != null)
|
||||
provider.signOut().timeout(const Duration(seconds: 3)),
|
||||
if (_session != null) _session.signOut(),
|
||||
], eagerError: false);
|
||||
await _session?.signOut();
|
||||
} finally {
|
||||
// 원격 SDK 정리가 실패해도 로컬 라우터는 로그인 상태에 고착되지 않는다.
|
||||
_replaceAccount(null);
|
||||
|
||||
Reference in New Issue
Block a user