Files
keycloak-pattern/docs/account-linking-spa-ux.md
T

965 B

Account linking UX for the SPA

두 흐름을 구분한다.

  • 로그인 도중 email collision: Keycloak의 안전한 First Broker Login flow가 기존 계정 인증을 요구한다.
  • 로그인한 사용자가 설정 화면에서 “Google 연결”: Client-Initiated Account Linking URL을 만들어 Keycloak로 redirect한다.

createAccountLinkUrl은 현재 token의 session_state, azp(issued-for), provider와 nonce를 SHA-256 서명 재료로 사용한다. SPA는 연결 성공 후 Account Console 또는 별도 backend read model을 통해 연결 상태를 새로 조회해야 하며 email만 보고 “연결됨”을 표시하면 안 된다.

Unlink는 사용자가 다른 로그인 수단을 갖고 있는지 먼저 안내하고, Keycloak이 마지막 federated identity 제거를 거부하면 해당 오류를 그대로 성공처럼 처리하지 않는다. production First Broker Login에는 자동 기존-user linking을 넣지 않는다.