# 바론 SSO와 Ory 스택 — 팀원 대상 설명 --- ## 목적(한 문장) 팀원이 빠르게 이해하고 통합 작업을 시작할 수 있도록 Ory 컴포넌트와 바론 SSO 연동 방식을 실무 관점에서 설명합니다. --- ## 핵심 개념 (짧고 명확하게) - Kratos: 사용자 계정·인증(로그인, 비밀번호, 세션)을 담당합니다. "누가 누구인지"를 관리합니다. - Hydra: OAuth2/OIDC 토큰을 발급합니다. 서비스(클라이언트)가 인증을 위해 의존하는 엔진입니다. - Oathkeeper: 서비스 앞단에서 토큰을 검사하고 요청을 허용/차단하는 프록시입니다. - Keto(옵션): 세부 권한(ACL/정책) 판정을 외부에서 처리합니다. --- ## 한눈에 보는 흐름 (개발자가 알아야 할 핵심 흐름) 1. 사용자가 `userfront` 같은 서비스에 접근합니다. 2. 서비스는 사용자에게 Hydra의 인증 페이지로 리디렉션합니다 (OIDC Authorization). 3. 실제 로그인(아이디/비밀번호, MFA)은 Kratos에서 수행되고 세션이 만들어집니다. 4. Kratos 인증 성공 후 코드가 Hydra로 돌아가고, Hydra는 토큰을 발급합니다. 5. 발급된 토큰으로 서비스가 사용자 세션을 구성하고 리소스에 접근합니다. 6. Oathkeeper가 앞단에 있으면 토큰 검증과 권한 시행은 중앙화됩니다. --- ## 팀별 체크리스트 (쉽게 실행 가능한 항목) - 개발팀: - Hydra에 `client_id`/`redirect_uri` 등록 - OIDC 라이브러리로 로그인 리디렉션/콜백 구현 - 토큰(액세스/ID) 검증 구현 또는 Oathkeeper 사용 - 보안팀: - 토큰 만료·리프레시 정책 검토 - TLS, 시크릿 관리 정책 점검 - 운영팀: - Ory 컴포넌트 모니터링(헬스체크, 로그 수집) - 스테이징/프로덕션 분리 및 백업 절차 수립 --- ## 빠른 통합 단계 (실무 명령형) 1. 로컬에서 스택 기동: `docker compose -f docker/compose.ory.yaml up` (환경변수 확인) 2. Kratos 사용자 스키마 확인 및 필요시 매핑 수정 3. Hydra에 서비스 클라이언트 등록(redirect URI, grant types, scopes) 4. 프론트엔드에서 로그인 흐름 테스트(리디렉션 → 로그인 → 콜백) 5. Oathkeeper 정책을 적용해 서비스 접근 제어 검증 6. 통합 테스트 케이스를 작성해 반복 검증 --- ## 데모/점검 체크리스트 (발표·검증용) - 브라우저에서 서비스 접속 → SSO 로그인 흐름 정상 동작 확인 - 토큰 클레임(`iss`, `aud`, `exp`)과 사용자 정보 정상 매핑 확인 - Oathkeeper 사용 시, 인증 실패/권한 없음 케이스 확인 - 로그(인증/토큰/권한 변경)가 중앙에 수집되는지 확인 --- ## 레포지토리 참조(빠른 위치) - Ory 관련 Compose 예시: [docker/compose.ory.yaml](docker/compose.ory.yaml) - 루트 배포 템플릿: [compose.ory.yaml](compose.ory.yaml) - 주요 서비스: `userfront`, `adminfront` (각 서비스는 Hydra 클라이언트로 등록 필요) --- ## 다음 행동(권장) 1. 각 팀은 위의 체크리스트 항목 중 담당 항목 선택 후 담당자·일정 등록 2. 내가 도와줄 수 있는 작업: 클라이언트 등록 샘플, `docker compose` 실행 가이드, 프레임워크별 코드 스니펫 제공 --- 원하시면 이 문서에 실제 환경변수 목록, 포트/엔드포인트 예시, 또는 프레임워크별 코드 스니펫을 추가하겠습니다.