1차 보완(0.1.1+14) 내용 합치기
This commit is contained in:
@@ -133,19 +133,6 @@ abstract interface class AuthSession {
|
||||
Future<void> signOut();
|
||||
}
|
||||
|
||||
/// 「동일 이메일만 연동 가능」 판정 — 명세 `554:22797` · 안내 문구 `554:23251`.
|
||||
///
|
||||
/// **제공자가 인증한 이메일 전체**를 정규화(trim·소문자)해 비교한다.
|
||||
/// 로컬 파트만 보면 `test123@naver.com` 과 `test123@gmail.com` 처럼 남의 계정이
|
||||
/// 붙는다. 비었거나 `@` 가 없는 값은 이메일로 보지 않아 false.
|
||||
///
|
||||
/// Figma 예시(앞부분 같으면 O)는 **2026-09-16 회신 3절 7항**(「다른 도메인 이메일의 앞부분만으로
|
||||
/// 동일 소유자를 판단하지 않습니다」)이 대체했다. 이메일을 주지 않는 제공자의 연결은 해석 확인 Q-E8.
|
||||
bool sameAccountIdentity(String a, String b) {
|
||||
final x = a.trim().toLowerCase();
|
||||
return x.contains('@') && x == b.trim().toLowerCase();
|
||||
}
|
||||
|
||||
/// 연동 화면에 거는 제공자 — 별첨 B v1.4 확정 4종.
|
||||
/// 이메일은 QA 내부 경로라 목록에 없다.
|
||||
const List<AuthProviderKind> linkableProviders = [
|
||||
@@ -159,6 +146,11 @@ const List<AuthProviderKind> linkableProviders = [
|
||||
///
|
||||
/// 별첨 B v1.4 — *하나의 FANUZU UID 에 복수 소셜 Provider 연결은 허용합니다.*
|
||||
/// Firebase 는 `User.linkWithCredential` / `User.unlink` 로 이걸 지원한다.
|
||||
///
|
||||
/// 통합검토회신 v2.3 **Q-E8**(C 안 보완) — 연결은 현재 계정의 유효한 인증 상태와 새 Provider 인증 자격을
|
||||
/// **서버가** 모두 확인해 붙인다(Firebase Auth `linkWithCredential` · 카카오는 `fnAuthKakao`). 이메일 일치는
|
||||
/// 소유 확인이 아니어서 비교하지 않는다 — 이메일을 주지 않는 카카오 · LINE 계정도 붙는다. 그 Provider 가
|
||||
/// 다른 FANUZU UID 에 붙어 있으면 거부하고(E-AUTH-08) 자동 병합하지 않는다.
|
||||
/// 저장소와 화면은 이 인터페이스만 알고 SDK 는 어댑터 뒤에 둔다 — 덕분에 설정
|
||||
/// 파일 없이도 연결·해제 규칙을 단위 테스트할 수 있다.
|
||||
abstract interface class AccountLinker {
|
||||
|
||||
Reference in New Issue
Block a user