--- title: branch / feature-keycloak-bff-oauth2login-session source_type: branch-note status: raw id: BR-KEYCLOAK-PATTERNS-OVERVIEW-010 kind: project-work-item project: keycloak-patterns-overview work_item: WI-KEYCLOAK-PATTERNS-OVERVIEW-010 inherits: [DEC-KEYCLOAK-PATTERNS-OVERVIEW-BFF-SESSION-001@1, DEC-KEYCLOAK-PATTERNS-OVERVIEW-SECRET-BOUNDARY-001@1] refines: [] overrides: [] depends_on: [WI-KEYCLOAK-PATTERNS-OVERVIEW-002] imports: [] delegates: [] accepts_delegations: [] contract_packet: 1 contract_packet_sha256: 7aec2d980997db5ff4dc83374809ecc4a503b3b46665c6cea8bdd3114c1a9f0b branch: feature-keycloak-bff-oauth2login-session parent_branch: related_projects: [keycloak-patterns-overview] tags: [branch] created: 2026-07-24 target_merge: status_label: in-progress --- # branch: feature-keycloak-bff-oauth2login-session ## 부모 (필수) - [[raw/project-notes/keycloak-patterns-overview]] ## 브랜치 계약 패킷 - **생성 시 프로젝트 개정**: `1` - **패킷 스키마**: `contract_packet: 1` - **완료 조건**: browser token 0개와 SESSION cookie만으로 BFF proxy API 200이 재현된다 ### 상속한 프로젝트 결정 | Decision Ref | Project Summary | Branch Application | Source | |---|---|---|---| | `DEC-KEYCLOAK-PATTERNS-OVERVIEW-BFF-SESSION-001@1` | AP3는 token을 backend session에 두고 browser에는 cookie만 둔다 | `WI-KEYCLOAK-PATTERNS-OVERVIEW-010` 완료 조건에 적용 | `[[raw/project-notes/keycloak-patterns-overview]]` | | `DEC-KEYCLOAK-PATTERNS-OVERVIEW-SECRET-BOUNDARY-001@1` | confidential client secret은 env var로 주입하고 commit·realm export 평문을 금지한다 | `WI-KEYCLOAK-PATTERNS-OVERVIEW-010` 완료 조건에 적용 | `[[raw/project-notes/keycloak-patterns-overview]]` | ### 브랜치 지역 결정 | Decision ID | Decision | Relation | Supporting Claims | Status | |---|---|---|---|---| ### 선언한 예외 | Override ID | Overrides | Reason | Approval | Status | |---|---|---|---|---| ### 가져온 artifact 계약 | Artifact Ref | Owner | Producer | Schema Ref | |---|---|---|---| ## 가져온 프로젝트 계약 | Ref | Owner | 요약 | Branch 적용 | |---|---|---|---| ### 수신한 위임 | Delegation Ref | From | Concern | Status | |---|---|---|---| ### 가져온 흐름 단계 | Stage Ref | Order | Owner | Input | Action | Output | |---|---:|---|---|---|---| ## 목표 - `WI-KEYCLOAK-PATTERNS-OVERVIEW-010`의 완료 조건을 구현한다: browser token 0개와 SESSION cookie만으로 BFF proxy API 200이 재현된다 ## 범위 ### 포함 범위 - Work Item 완료 조건 ### 제외 범위 - project decision registry 변경 ## 근거 (필수, 최소 1개+) 외부 근거 미등록. `/branch-spec feature-keycloak-bff-oauth2login-session` 단계에서 source claim을 연결한다. ## TODO - [ ] browser token 0개와 SESSION cookie만으로 BFF proxy API 200이 재현된다 — 등급: `planned` ## 진행 중 메모 아직 없음. ## 결정 사항 project 결정 외 branch-local 결정은 아직 없음. ## 결정-근거 매핑 | Decision ID | Decision | 선택 조건 (언제 이 결정 / 언제 대안) | Supporting Claims | Evidence Strength | Open Risk | |---|---|---|---|---|---| ## 구현 가이드 `/branch-spec` 단계에서 source claim 기반으로 작성한다. ## 엣지·실패·의존 - **실패·엣지 경로**: `/branch-spec` 단계에서 구체화한다. - **다른 계약 의존**: `WI-KEYCLOAK-PATTERNS-OVERVIEW-002` ## 검증해야 할 주장 | Claim | Why uncertain | How to verify | Status | |---|---|---|---| ## 관심사 커버리지 (coverage-auditor 자동 생성 — 있을 때) `/coverage` 실행 전. ## 마주친 문제 아직 없음. ## 묶음 (이 branch에서 파생된 자료) ## 관련 일일 노트 해당 없음. ## 완료 후 정리 - PR 링크: - 리뷰 메모: