Files
technical-visualization-haness/.work/keycloak-four-patterns/final/assets/ap3-bff-architecture/ap3-bff-architecture.alt.md
T
2026-07-29 18:03:21 +09:00

1.8 KiB
Raw Blame History

AP3는 browser session을 BFF-owned Bearer 요청으로 바꾼다

Alternative text

Browser session zone과 server-side BFF zone 사이에서 AP3_SESSION이 downstream Bearer 요청으로 바뀌는 BFF 아키텍처.

Long description

왼쪽 browser session zone에는 OAuth token 없이 HttpOnly AP3_SESSION을 가진 브라우저가 있다. 오른쪽 server-side application zone에는 BFF, authorized-client store, 내부 Resource Server가 있다. 브라우저의 /bff/api/me 요청은 BFF에서 종료되고, BFF는 current authorized client를 조회해 server-held access token으로 Resource Server용 Bearer 요청을 조립한다.

Elements and evidence

  • Boundary: Browser session boundary (system): OAuth token 대신 HttpOnly AP3_SESSION을 보유하는 browser 경계. Evidence: L166L168.
  • Boundary: Server-side application path (system): BFF, server-side authorized client와 내부 Resource Server가 연결되는 backend 경계. Evidence: L166L170.
  • Browser (actor): OAuth token을 받지 않고 AP3_SESSION으로 BFF endpoint를 호출한다. Evidence: L166L168.
  • Spring BFF (service): 브라우저 session을 현재 authorized client와 downstream Bearer 요청으로 변환하는 confidential client. Evidence: L166L170.
  • Authorized-client store (database): BFF가 access와 refresh token을 보관하고 현재 authorized client를 조회하는 server-side state. Evidence: L166L170.
  • Internal Resource Server (service): BFF가 만든 Bearer 요청을 받는 내부 보호 자원. Evidence: L168L168.

Relationships

  • Spring BFF → Internal Resource Server: downstream Bearer 요청. Evidence: L168L168.
  • Spring BFF → Authorized-client store: 현재 authorized client 조회. Evidence: L168L168.
  • Browser → Spring BFF: AP3_SESSION · /bff/api/me. Evidence: L168L168.