Update Baron SSO 로그인 화면 3가지 방식 절차 및 흐름.md

This commit is contained in:
2026-06-22 15:01:57 +09:00
parent 8774df871b
commit 7d11563b64

View File

@@ -30,6 +30,18 @@ Baron SSO 로그인 페이지에는 사용자가 선택할 수 있는 로그인
운영 환경에서는 사용자의 요청이 Backend, Kratos, Hydra로 직접 들어가지 않는다. 일반적으로 앞단의 L7 또는 Traefik, Baron Gateway Nginx, Oathkeeper를 거쳐 내부 서비스로 라우팅된다.
각 구성요소를 간단히 설명하면 다음과 같다.
| 구성요소 | 쉬운 역할 | 로그인 흐름에서 하는 일 |
| --- | --- | --- |
| L7 또는 Traefik | 외부 출입구 / 1차 교통정리 | 사용자가 접속한 도메인과 HTTPS 요청을 받아 Baron SSO 쪽으로 넘긴다. 운영 환경에 따라 Traefik, 외부 L7 로드밸런서, Ingress, ALB 같은 장비가 이 역할을 한다. |
| Baron Gateway Nginx | Baron SSO 내부 안내 데스크 | 들어온 URL 경로를 보고 UserFront, Backend, Oathkeeper 중 어디로 보낼지 나눈다. 예를 들어 `/api/*`는 Backend, `/oidc/*`는 Oathkeeper/Hydra 쪽으로 보낸다. |
| Oathkeeper | Ory 앞단 보안 게이트 | `/oidc/*`, `/auth/*`처럼 Ory로 가는 요청을 받아 정책에 맞게 통과시키고, 내부 Ory 주소로 전달한다. 현재 흐름에서는 Hydra/Kratos 앞단의 보호 프록시 역할을 한다. |
| Ory Hydra | OIDC/OAuth2 인가 서버 | RP의 `client_id`, `redirect_uri`, `scope`, `state`, `code_challenge`를 확인하고, 로그인 필요 시 `login_challenge`를 만들어 UserFront 로그인 화면으로 보낸다. |
| UserFront | Baron SSO 로그인 화면 | 사용자가 보는 비밀번호, 로그인 링크, QR 코드 탭 화면이다. |
따라서 L7, Nginx, Oathkeeper는 사용자를 인증하는 주체라기보다 "요청을 올바른 내부 서비스로 안전하게 전달하는 앞단 계층"에 가깝다. 실제 로그인 요청 접수와 OIDC 판단은 Hydra가 하고, 비밀번호 검증과 세션 발급은 Backend와 Kratos가 처리한다.
```mermaid
flowchart LR
User[사용자 브라우저]
@@ -96,9 +108,9 @@ sequenceDiagram
participant HY as Ory Hydra
participant UF as UserFront 로그인 화면
User->>RP: 업무시스템 접속
User->>RP: 로그인 버튼 클릭
RP-->>User: /oidc/oauth2/auth로 브라우저 리다이렉트
User->>RP: 업무시스템 접속 또는 보호 페이지 접근
RP->>RP: RP 자체 세션 확인
RP-->>User: RP 세션 없음, /oidc/oauth2/auth로 브라우저 리다이렉트
User->>L7: GET /oidc/oauth2/auth?client_id=...&redirect_uri=...
L7->>GW: 요청 전달
GW->>OK: /oidc/* 경로 전달