refactor: 문서 개선 중

This commit is contained in:
donghyeon-ka
2026-09-21 14:30:55 +09:00
parent c93cdea150
commit 805a18f486
1497 changed files with 525837 additions and 59152 deletions
@@ -113,7 +113,7 @@ HTTP : o
<!-- body:start -->
confidential client는 client secret을 서버에 두고 자기를 인증할 수 있는 애플리케이션이다. 여기 나오는 mediator가 그런 클라이언트이고, 브라우저 대신 authorization code를 토큰으로 바꿔 서버에 보관한다. 다만 보호 자원 서버(Resource Server)는 브라우저가 직접 부른다. 리프레시 토큰만 브라우저에서 걷어내면 브라우저가 무엇을 계속 다루게 되는지 확인했다.
AP2의 mediator는 server에서 client credential을 보호하고 client authentication을 수행할 수 있는 confidential client다. 이 프로젝트에서는 `client_secret_basic`을 사용하고 client secret을 서버에 둔다. Mediator가 브라우저 대신 authorization code를 토큰으로 바꿔 서버에 보관하지만, 보호 자원 서버(Resource Server)는 브라우저가 직접 부른다. 리프레시 토큰만 브라우저에서 걷어내면 브라우저가 무엇을 계속 다루게 되는지 확인했다.
## 서버로 옮긴 값과 브라우저로 돌아오는 값
@@ -241,7 +241,7 @@ repeatable GET
## 이 구조를 고를 때 함께 오는 서버 상태와 액세스 토큰 노출
mediator를 넣은 이유는 하나다. 리프레시 토큰은 브라우저 JavaScript 메모리에서 서버로 옮기고, 브라우저가 보호 자원 서버를 직접 부르는 방식은 바꾸지 않으려고 했다. 둘을 같이 두려면 client secret을 서버에 보관할 수 있는 confidential client가 필요하다. 구현을 마치고 보니 이 선택은 두 비용을 함께 남겼다.
mediator를 넣은 이유는 하나다. 리프레시 토큰은 브라우저 JavaScript 메모리에서 서버로 옮기고, 브라우저가 보호 자원 서버를 직접 부르는 방식은 바꾸지 않으려고 했다. 이 프로젝트에서는 mediator가 server-side에서 client credential을 보호하고 `client_secret_basic`으로 자신을 인증하도록 confidential client로 구성했다. 구현을 마치고 보니 이 선택은 두 비용을 함께 남겼다.
- 서버 상태 : mediator의 HttpSession과 authorized-client 저장소를 운영해야 한다
- 브라우저 노출 : 액세스 토큰이 응답 본문과 `Authorization` 헤더를 지나가는 것은 막지 못했다