diff --git a/Baron SSO 로그인 화면 3가지 방식 절차 및 흐름.md b/Baron SSO 로그인 화면 3가지 방식 절차 및 흐름.md index 92259a6..fba06ea 100644 --- a/Baron SSO 로그인 화면 3가지 방식 절차 및 흐름.md +++ b/Baron SSO 로그인 화면 3가지 방식 절차 및 흐름.md @@ -388,29 +388,29 @@ sequenceDiagram Edge->>BE: /api/v1/auth/password/login BE->>KR: Kratos password 인증 KR-->>BE: session_token, cookie - BE-->>UF: sessionJwt 또는 sessionJwt + redirectTo + alt 일반 UserFront 로그인(login_challenge 없음) + BE-->>UF: sessionJwt + else RP OIDC 로그인(login_challenge 있음) + BE->>BE: Hydra 로그인 완료 처리로 계속 진행 + end ``` #### 4.4.3 RP OIDC 로그인 후속 처리 ```mermaid sequenceDiagram - autonumber 18 + autonumber 17 participant UF as UserFront participant BE as Baron Backend participant HY as Ory Hydra participant RP as RP/업무시스템 - alt login_challenge 있음 - BE->>HY: AcceptLoginRequest(login_challenge, subject) - HY-->>BE: redirectTo - BE-->>UF: sessionJwt + redirectTo - UF->>RP: OIDC callback 이동(code 포함) - RP->>HY: /oauth2/token에서 code 교환 - HY-->>RP: access_token, id_token, refresh_token 발급 - else 일반 UserFront 로그인 - BE-->>UF: sessionJwt - end + BE->>HY: AcceptLoginRequest(login_challenge, subject) + HY-->>BE: redirectTo + BE-->>UF: sessionJwt + redirectTo + UF->>RP: OIDC callback 이동(code 포함) + RP->>HY: /oauth2/token에서 code 교환 + HY-->>RP: access_token, id_token, refresh_token 발급 ``` 비밀번호 로그인에서도 토큰 저장 위치는 `3.3 공통 토큰 저장 위치`를 따른다. 즉 Kratos가 발급한 `session_token`은 UserFront 로그인 상태용으로 사용되고, RP에서 시작된 OIDC 흐름이면 Hydra가 후속으로 authorization code 및 RP용 `access_token`, `id_token`, `refresh_token`을 발급한다. Hydra 토큰은 UserFront가 아니라 RP가 자기 정책에 따라 저장한다.