Authentication scaffoldP0 8/70

/signup

회원가입

Firebase 계정 연결 전 로그인/가입 구조

인증 정책과 약관 동의 흐름은 먼저 배치하고, 실제 provider 연결은 계정 수령 후 진행합니다.

ASBU서툰 우리의 옆자리

Concept C — Social Event

안전한 입장 게이트

초기 안내문구 뒤 PASS 앱 인증으로 부드럽게 이어지고, 약관과 온보딩 프로필 흐름을 분명히 보여준다.

PDF 로고 반영 · 폰트/앱 아이콘 미확정

Route

/signup회원가입사용자 모바일 · P0

Template

auth시안 변경 시 family plan과 componentSet을 먼저 수정합니다.Balanced expression

Reusable components

ExtractedLogoWelcomeCardSafeLoginPanelTermsStepperStickyActionBar

Guardrails

검증된 오프라인 이벤트에 초대받는 밝고 설레는 경험투표/매칭 화면은 밝게, 인증/결제/관리자 화면은 절제한다실시간 채팅, AI 매칭, OCR, 구독/IAP처럼 보이는 UI를 만들지 않는다

Primary CTA

PASS 본인확인 시작계약상 route action을 유지하고, 시각 표현만 Concept C 컴포넌트로 교체합니다.PASS 본인확인 시작
ASBU
가입검증된 오프라인 이벤트

ASBU 시작

PASS 본인확인부터 부드럽게 시작합니다

첫 화면에서는 필요한 안내만 보여주고, PASS 인증 후 약관과 온보딩 프로필로 이어집니다.

공식 로고 반영계정 정책 확인 전계정 입력
ASBU서툰 우리의 옆자리

ASBU Social Entry

처음 참여하는 분

PASS 인증 후 약관 동의, 닉네임, 거주지, 싱글/돌싱, 직업, 키, 특징 5개, 뱃지 인증 최소 1개를 차례로 받습니다.

입력 정보

계정 입력 항목

고객 계정과 보안 정책을 받기 전까지는 입력 순서와 안내 문구만 확인합니다.

  • PASS 본인확인 거래 ID문장 · 필수
  • CI/DI 또는 외부 연동 중복가입 식별자문장 · 필수
  • 동의 버전체크박스 · 필수
fixture-only no-provider-call audit log preview

Template family

auth

Firebase Auth 연결 대기

01Credential fields
02Consent checklist
03Status notice
04CTA block

UI primitives

공통 컴포넌트 슬롯

AppShellFormFieldConsentChecklistStatusBadgeCallToAction

State contract

로딩·빈값·오류·차단·주요 행동

디자인과 실데이터를 기다리는 동안에도 모든 route가 같은 실패/대기/빈값 골격을 유지하도록 화면별 상태 계약을 고정합니다.

Loading

회원가입 불러오는 중

회원가입 화면은 PASS 본인확인 provider, callback 정책, 공통 primitive 계약을 동시에 기다리는 로딩 상태를 노출합니다.

Empty

회원가입에 표시할 항목이 없습니다

PASS 본인확인 provider가 아직 연결되지 않아도 앱 내부 인증 시작 위치와 재시도 안내를 유지합니다.

Error

회원가입 데이터를 확인하지 못했습니다

PASS 본인확인 시작 또는 callback 검증에 실패해도 외부 요청을 반복하지 않고, 재시도·문의·뒤로가기 위치를 계약으로 고정합니다.

Blocked

회원가입 고객 입력 대기

brandSkin, firebaseProject, authPolicy, passIdentityProvider, passCallbackPolicy, onboardingIntroCopy, onboardingStepPolicy, consentContent 항목이 확정되기 전까지 디자인과 실데이터를 잠그지 않습니다.

Success

회원가입이 완료됐어요

계정 절차가 끊기지 않도록 다음 화면으로 이어집니다. 다음 단계는 약관 동의에서 이어서 확인할 수 있어요.

Primary action

PASS 본인확인 시작/signup/termscustomer input required

Required data

authProviderConfigconsentVersionredirectPolicypassIdentityProviderpassCallbackPolicyonboardingIntroCopyonboardingStepPolicyprimitive:AppShellprimitive:FormFieldprimitive:ConsentChecklistprimitive:StatusBadgeprimitive:CallToAction

Customer input

brandSkinfirebaseProjectauthPolicypassIdentityProviderpassCallbackPolicyonboardingIntroCopyonboardingStepPolicyconsentContent

Next routes

/signup/terms/me

Action/Form contract

버튼·폼·상태전이 바인딩

`screen-action-contract.json` 기준 primary CTA, form field, 상태전이, provider 차단, audit requirement를 화면에 직접 표시합니다. 현재 경계는 fixture-only-no-provider-call이며 no provider calls before customer accounts 정책을 유지합니다.

Provider block

no-provider-call-before-customer-accounts

Firebase·Toss·Storage·Auth production call은 고객 계정 수령 전까지 차단합니다.

Firebase AuthCloud Firestore

Audit requirement

audit log not required

none

none

Form preview

form-signuprequiredField · clientShapeOnly · noLiveProviderCredential · fixtureOnlySubmit
준비idle

PASS 본인확인 시작을 누르면 계정 진행 흐름으로 자연스럽게 이어집니다.

진행 중submitting

잠시만 기다리면 회원가입 상태가 화면에 정리됩니다.

완료success

계정 절차가 끊기지 않도록 다음 화면으로 이어집니다. 다음 단계는 약관 동의에서 이어서 확인할 수 있어요.

다시 확인error

입력한 내용과 화면 안내를 확인한 뒤 PASS 본인확인 시작을 다시 눌러 주세요.

확인 필요blocked

계정 정책과 인증 방식 확인이 필요합니다. 준비되면 PASS 본인확인 시작을 다시 진행할 수 있습니다.

action-signup-primaryidlesubmitting

사용자가 primary action을 실행합니다.

fixtureSuccesssubmittingsuccess

외부 provider 호출 없이 fixture 성공 상태를 표시합니다.

fixtureErrorsubmittingerror

검증/fixture 오류 상태를 표시합니다.

customerInputMissingidleblocked

고객 로고/계정/정책 blocker가 남아 있으면 blocked 상태를 유지합니다.

customerInputResolvedblockedidle

필수 입력이 해결되면 기본 상태로 돌아갑니다.

Fixture interaction runner

role·CTA·form·provider·audit 시뮬레이션

실 provider 호출 없이 primary CTA, role decision, form submit, state transition, audit requirement를 fixture-only로 점검합니다.

Role access

user6 denied roles

Primary flow

PASS 본인확인 시작/signup/terms

Form submit

submitFixture3 required fields provided by fixture

Audit/provider

audit not required2 blocked providers, 0 calls

Mock navigation fixture

실데이터 없이 클릭 가능한 대표 흐름

Firebase·Toss·정책 원문을 호출하지 않는 fixture-only 링크입니다. 동적 segment는 demo id로 치환해 브라우저에서 바로 route reachability를 확인합니다.

Seed

회원가입 demo flowroute-signup-fixturefixture-only-no-provider-call

Mocked entities

fixture:demoViewerfixture:consentChecklistfixture:authRedirectPolicyfixture:onboardingIntroCopyfixture:onboardingStepPolicyprimitive:AppShellprimitive:FormFieldprimitive:ConsentChecklistprimitive:StatusBadgeprimitive:CallToAction

Fixture payload

화면별 최소 DTO preview

실제 Firebase/Toss/정책 원문 대신 사용할 최소 payload입니다. 화면 구조와 DTO 슬롯을 먼저 맞추고, 고객 계정·정책 수령 후 실제 데이터로 교체합니다.

Payload contract

authFormpayload-signupauthSession

Summary

회원가입 화면에 표시할 최소 PASS 본인확인 authSession fixture payload입니다. 실제 provider 호출 없이 안내문구, callback, DTO 슬롯만 확인합니다.

route-signup-fixture
readyP0 demo

fixture

pendingbrandSkin

blocked

준비됨

회원가입 대표 데이터

auth 화면 검증용 fixture

userP0auth

Form fields

PASS 본인확인 거래 ID · text · requiredCI/DI 또는 provider 중복가입 식별자 · text · required동의 버전 · checkbox · required

auth-policy-needed

guest/admin-guest guard

no real credentials