Files

23 lines
1.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 백채널 로그아웃은 양쪽이 있어야 한다
## Alternative text
Keycloak 이 부를 주소와 앱이 받을 엔드포인트가 각각 비어 있어 로그아웃 통지가 어느 쪽에서도 성립하지 않는 구성.
## Long description
C-1 에서 로그아웃이 다른 앱으로 퍼지지 않는 것을 관측했고 원인은 단순했다. 두 클라이언트 모두 backchannelLogoutUrl 이 비어 있어 Keycloak 은 부를 주소를 몰랐고, BFF 소스에는 oidcLogout 설정이 없어 주소를 알려줘도 받을 곳이 없었다. Keycloak 파드에서 앱 URL 로 요청하면 200 이 돌아오므로 네트워크 문제도 아니다. 설정이 빠졌다와 기능이 없다는 다르게 고쳐야 하는데 여기는 둘 다였다.
## Elements and evidence
- **한 앱의 로그아웃** (actor): 한 앱에서 로그아웃하면 Keycloak 세션이 끝난다. Evidence: L458L465.
- **backchannelLogoutUrl** (component): 클라이언트 설정. 비어 있었다. Evidence: L458L466.
- **앱의 수신 엔드포인트** (component): 소스에 없었다. Evidence: L458L466.
- **다른 앱의 세션** (component): 그대로 남는다. Evidence: L458L466.
## Relationships
- **backchannelLogoutUrl → 앱의 수신 엔드포인트:** 호출 (주소 필요). Evidence: L458L466.
- **앱의 수신 엔드포인트 → 다른 앱의 세션:** 세션 삭제 (엔드포인트 필요). Evidence: L458L466.
- **한 앱의 로그아웃 → backchannelLogoutUrl:** 통지 주소 조회. Evidence: L458L466.