Files
baron_qa_write/docs/sso_guides/userfront.md
T
root c87e0aa0c1
Deploy EG-BIM QA Gateway / deploy (push) Successful in 56s
fix: 맵핑 관련 오류 로그 셋팅
2026-10-30 12:38:25 +09:00

5.5 KiB

UserFront 사용자 가이드

로그인

UserFront는 Baron SSO 로그인, 연결 승인, consent, 연동 앱 탐색의 사용자 접점이다.

  1. 서비스 또는 UserFront에서 로그인을 시작한다.
  2. email, phone, employee ID 등 화면에 허용된 식별자를 입력한다.
  3. 다른 기기 승인이나 link가 필요한 경우 화면의 pending 상태를 유지한다.
  4. 승인 후 원래 서비스 또는 UserFront로 돌아오는지 확인한다.

잠시 사용할 수 없음이나 readiness 오류를 미가입·비밀번호 오류로 해석하지 않는다. 잠시 뒤 재시도하고 계속 실패하면 표시된 추적 정보와 시각을 운영자에게 전달한다.

  • 필수 scope는 해제할 수 없다.
  • 선택 scope는 서비스에 제공할 정보 범위를 보고 선택한다.
  • 동의를 거부하면 로그인 시도는 원래 RP로 오류와 함께 돌아갈 수 있다.
  • 과거 동의는 활동상황 또는 연결된 서비스 화면에서 확인한다.
  • 연동 해지는 해당 RP의 consent와 authorization에 영향을 주며 다음 접속에서 다시 동의를 요구할 수 있다.

연결된 서비스

  • RP card를 선택하면 등록된 서비스 시작 URL 또는 홈페이지로 이동한다.
  • 자동 로그인 지원 RP는 별도 login button 없이 OIDC 흐름을 시작할 수 있다.
  • UserFront가 RP의 state, nonce, PKCE를 대신 만들지 않는다.
  • 예상하지 않은 도메인이나 redirect가 보이면 진행하지 않고 운영자에게 알린다.

QR과 다른 기기 승인

  • QR을 표시한 기기가 로그인 대상이고 스캔 기기는 승인을 수행한다.
  • QR이나 link가 만료되면 현재 화면에서 새 요청을 발급한다.
  • pending은 실패가 아니다. 승인 완료 또는 만료까지 화면 안내를 따른다.
  • 같은 요청을 여러 창에서 반복 승인하지 않는다.

로그아웃

  • UserFront 로그아웃은 Kratos session을 종료한다.
  • 연결된 RP는 Back-Channel Logout, token refresh 실패, /user/me 재검증 등 지원 방식에 따라 local session을 정리한다.
  • SMS 또는 NAVER WORKS 원격 로그아웃 link는 대상 서비스와 요청 시각을 확인한 뒤 승인한다.
  • 의심스러운 요청은 승인하지 말고 UserFront에서 직접 session 상태를 확인한다.

비밀번호와 복구

  1. 로그인 화면의 복구 진입점을 사용한다.
  2. 수신한 link/code의 대상 계정과 만료 여부를 확인한다.
  3. 새 비밀번호 설정 뒤 기존 session이 유지되는지 화면 안내를 따른다.
  4. 이미 사용했거나 만료된 복구 요청은 새로 발급한다.

인증·로그인 정책의 정본은 Authentication and Login Flow다.

TOTP와 recovery code

  • 보안 설정 화면에서 Kratos TOTP를 등록·해제하고 recovery code를 발급한다. TOTP secret은 계정당 하나이며 RP별 secret을 만들지 않는다.
  • TOTP 등록은 서로 다른 30초 구간에 표시된 코드 두 개를 연속으로 확인해야 완료된다. 첫 코드 직후에는 다음 코드로 바뀔 때까지 기다린 뒤 두 번째 값을 입력한다.
  • recovery code는 TOTP의 평상시 대체 수단이 아니라 계정 복구에만 사용한다. 발급 직후 안전한 장소에 보관하고, 노출되었거나 사용한 code는 다시 발급한다.
  • recovery code로 TOTP를 해제한 session은 새 TOTP를 등록하고 두 번째 코드까지 확인하기 전에는 비밀번호 변경, RP, AdminFront, DevFront, token 경로로 이동할 수 없다.
  • 이 복구는 lookup secret을 Kratos에 제출하기 전에 session 한정 lookup_pending 상태로 서버에 먼저 기록된다. 원장을 기록할 수 없으면 lookup secret도 제출하지 않는다. 명시적인 잘못된 code 응답은 pending을 취소하고, 응답 결과가 불명확하면 해당 session만 격리한다. Kratos가 성공을 확인한 뒤에만 lookup_self_recovery를 session_bound로 승격하고 같은 identity의 다른 session을 즉시 fence한다. 복구를 시작한 동일 session만 새 TOTP 등록과 recovery code 재발급을 끝낼 수 있다.
  • Tenant 또는 RP가 AAL2를 요구하는데 현재 session이 부족하면 UserFront가 Kratos AAL2 로그인 화면으로 이동시킨다. Factor 검증이 끝나면 원래 로그인 흐름을 이어간다.
  • 비밀번호 reset 또는 TOTP reset 대상 계정은 최초 정상화 session에서 비밀번호 변경, TOTP 등록, recovery code 확인을 지정된 순서대로 완료한다. 이 흐름이 끝나기 전에는 일반 제품·RP·token 경로를 사용할 수 없다.
  • 일반 보안 설정의 비밀번호 변경, TOTP 초기화, recovery code 재발급, 신뢰할 수 있는 브라우저 등록은 작업 직전에 현재 TOTP를 다시 검증한다. recovery code로 얻은 AAL2는 이 fresh-TOTP 확인을 대신할 수 없다.

신뢰할 수 있는 브라우저

  • AAL2 session에서 현재 브라우저를 등록할 수 있다. private key는 브라우저의 Web Crypto와 IndexedDB에 non-extractable key로 보관하며 서버에는 public JWK만 저장한다.
  • grant는 최대 30일이며 현재 브라우저에서 자동 proof를 수행한다. 폐기, 만료, key 손실 또는 replay 검출 시 다시 등록해야 한다.
  • 신뢰할 수 있는 브라우저만으로 Tenant AAL2를 유예하지 않는다. Connect 후보의 내부망 Network Assurance까지 같은 요청에서 성공해야 하며, RP AAL2·Fresh TOTP·Exact Super Admin 요구는 유예하지 않는다.