feat: 가상화 문서들 추가

This commit is contained in:
DongHyeonka
2026-09-10 08:54:05 +09:00
parent e9f6a93327
commit 43e1aadef0
695 changed files with 153404 additions and 12754 deletions
@@ -10,25 +10,25 @@
## Elements and evidence
- **Boundary: 로그인 구간** (lifecycle): Authorization request, callback, code 교환과 로그인 상태 생성이 일어나는 구간. Evidence: L37L39.
- **Boundary: 애플리케이션 요청 구간** (lifecycle): 브라우저 입력부터 credential 변환, 보호 자원 검증과 최종 응답까지의 구간. Evidence: L37L40.
- **Boundary: 로그인 구간** (lifecycle): Authorization request, callback, code 교환과 로그인 상태 생성이 일어나는 구간. Evidence: L39L41.
- **Boundary: 애플리케이션 요청 구간** (lifecycle): 브라우저 입력부터 credential 변환, 보호 자원 검증과 최종 응답까지의 구간. Evidence: L39L42.
- **Keycloak** (service): Authorization request를 받고 authorization code를 OAuth client에 돌려준다. Evidence: L33L33.
- **AP2 mediator** (service): AP2에서 token을 발급받는 주체. Evidence: L35L35.
- **AP3 BFF · 로그인** (service): AP3에서 token을 발급받는 BFF의 로그인 책임. Evidence: L35L35.
- **AP4 oauth2-proxy** (service): AP4에서 OIDC code 교환과 proxy session 검증을 맡는다. Evidence: L35L35.
- **AP2 브라우저** (actor): AP2에서 token 발급 주체와 달리 실제 API를 호출한다. Evidence: L35L35.
- **AP3 BFF · API** (service): AP3에서 token을 발급받은 같은 BFF가 API도 호출한다. Evidence: L35L35.
- **AP4 Nginx** (service): AP4에서 upstream 요청을 연결하고 identity header를 조립한다. Evidence: L35L35.
- **보호 자원** (service): 애플리케이션 요청 구간에서 전달된 credential을 검증하고 최종 응답을 만든다. Evidence: L40L40.
- **AP2 mediator** (service): AP2에서 token을 발급받는 주체. Evidence: L37L37.
- **AP3 BFF · 로그인** (service): AP3에서 token을 발급받는 BFF의 로그인 책임. Evidence: L37L37.
- **AP4 oauth2-proxy** (service): AP4에서 OIDC code 교환과 proxy session 검증을 맡는다. Evidence: L37L37.
- **AP2 브라우저** (actor): AP2에서 token 발급 주체와 달리 실제 API를 호출한다. Evidence: L37L37.
- **AP3 BFF · API** (service): AP3에서 token을 발급받은 같은 BFF가 API도 호출한다. Evidence: L37L37.
- **AP4 Nginx** (service): AP4에서 upstream 요청을 연결하고 identity header를 조립한다. Evidence: L37L37.
- **보호 자원** (service): 애플리케이션 요청 구간에서 전달된 credential을 검증하고 최종 응답을 만든다. Evidence: L42L42.
## Relationships
- **AP2 브라우저 → 보호 자원:** /api/me · Bearer. Evidence: L35L40.
- **AP2 mediator → AP2 브라우저:** owner 분리. Evidence: L35L35.
- **AP3 BFF · API → 보호 자원:** /api/me · Bearer. Evidence: L35L40.
- **AP3 BFF · 로그인 → AP3 BFF · API:** 동일 BFF. Evidence: L35L35.
- **AP4 oauth2-proxy → AP4 Nginx:** auth 결과. Evidence: L35L35.
- **AP4 Nginx → 보호 자원:** /edge/me · identity. Evidence: L35L40.
- **Keycloak → AP2 mediator:** code → token. Evidence: L33L35.
- **Keycloak → AP3 BFF · 로그인:** code → token. Evidence: L33L35.
- **Keycloak → AP4 oauth2-proxy:** OIDC code 교환. Evidence: L33L35.
- **AP2 브라우저 → 보호 자원:** Bearer. Evidence: L37L37, L41L42.
- **AP2 mediator → AP2 브라우저:** owner 분리. Evidence: L37L37.
- **AP3 BFF · API → 보호 자원:** Bearer. Evidence: L37L37, L41L42.
- **AP3 BFF · 로그인 → AP3 BFF · API:** 동일 BFF. Evidence: L37L37.
- **AP4 oauth2-proxy → AP4 Nginx:** auth 결과. Evidence: L37L37.
- **AP4 Nginx → 보호 자원:** identity header. Evidence: L37L37, L41L42.
- **Keycloak → AP2 mediator:** code → token. Evidence: L33L33, L37L37.
- **Keycloak → AP3 BFF · 로그인:** code → token. Evidence: L33L33, L37L37.
- **Keycloak → AP4 oauth2-proxy:** OIDC code 교환. Evidence: L33L33, L37L37.