iOS 에서도 LINE 앱 자동 로그인을 꺼 웹 로그인이 끊기지 않게 함

This commit is contained in:
Sn-Kinos
2026-10-11 00:56:08 +09:00
parent cef5436336
commit e440251c78
3 changed files with 22 additions and 15 deletions
+6 -3
View File
@@ -68,9 +68,12 @@ class AuthRepository extends ChangeNotifier {
AuthProviderKind.line,
providerId: FirebaseAccountLinker.providerIds[AuthProviderKind.line]!,
scopes: const ['profile', 'email'],
// LINE 앱 자동 로그인으로 넘어가면 콜백이 Custom Tab 밖에서 열려 로그인이
// 깨진다(Android). LINE Login 공식 파라미터로 끈다.
androidParameters: const {'disable_auto_login': 'true'},
// LINE 앱 자동 로그인으로 넘어가면 콜백이 웹 로그인 창 밖에서 열려 로그인이
// 깨진다(Android · iOS). LINE Login 공식 파라미터로 끈다.
appParameters: const {
'disable_auto_login': 'true',
'disable_ios_auto_login': 'true',
},
),
];
+7 -9
View File
@@ -224,7 +224,7 @@ final class OidcSignInProvider implements SocialAuthProvider {
this.provider, {
required this.providerId,
this.scopes = const [],
this.androidParameters = const {},
this.appParameters = const {},
this.firebaseAuth,
});
@@ -239,11 +239,11 @@ final class OidcSignInProvider implements SocialAuthProvider {
/// KOE205 로 로그인 자체를 막는다.
final List<String> scopes;
/// Android 에서만 인가 URL 에 붙일 파라미터. Android Custom Tab 은 다른 앱으로
/// 넘어갔다 돌아오면 콜백이 일반 Chrome 탭에서 열려 Firebase 핸들러가
/// 「missing initial state」로 끝난다 — 앱 전환을 막는 공식 파라미터를 여기 둔다.
/// iOS 는 정상이라 건드리지 않는다.
final Map<String, String> androidParameters;
/// 앱(Android · iOS)에서 인가 URL 에 붙일 파라미터. 웹 로그인 도중 제공자 앱(LINE 등)으로
/// 넘어갔다 돌아오면 콜백이 원래 브라우저 세션 밖에서 열려 Firebase 핸들러가
/// 「missing initial state」로 끝난다(Android 10/5 · iOS 10/11 실기기) — 앱 전환을 막는
/// 제공자 공식 파라미터를 여기 둔다.
final Map<String, String> appParameters;
/// 테스트 주입용. 기본은 [fb.FirebaseAuth.instance].
final fb.FirebaseAuth? firebaseAuth;
@@ -260,9 +260,7 @@ final class OidcSignInProvider implements SocialAuthProvider {
for (final scope in scopes) {
p.addScope(scope);
}
if (!kIsWeb && defaultTargetPlatform == TargetPlatform.android) {
p.setCustomParameters(androidParameters);
}
if (!kIsWeb) p.setCustomParameters(appParameters);
return p;
}