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
@@ -13,9 +13,9 @@
},
"verified": "네 패턴이 각각 다른 브랜치에 있어 단일 커밋으로 표현되지 않는다. 각 tip 에서 문서가 인용한 것을 찾아 대조했다 — pattern1 의 frontend/src/app.js 에 InMemoryWebStorage 와 redirect_uri http://localhost:8088/callback.html, pattern2 의 /token/access, pattern3 의 BffController /bff/token-boundary, pattern4 의 EdgeIdentityController /edge/me. 공통 realm(keycloak/import/keycloak-patterns-realm.json)의 client 넷과 mock-google-realm.json 도 확인했다. 저장소 HEAD 는 keycloak-session-store 작업이라 이 문서의 상태가 아니다 (2026-09-07 확인)"
},
"ssotSha256": "5a5269ed55097d21a643ffbba8853df768ae69ebed904e4d1570f2f27e3485d5",
"ssotSha256": "f397b1e6a6e2488c0e3968dc89d34e94169d678589ec5c81dc07f1af8cc6a102",
"sourceRevision": "keycloak-patterns-lab@2026-08",
"generatedAt": "2026-09-08",
"generatedAt": "2026-09-19",
"candidateScope": {
"document": "final/document.md",
"sections": [
@@ -58,7 +58,7 @@
}
},
"assetLedger": {
"note": "final/assets/ 의 그림 10장이 모두 글감에 배정돼 있다. Case 는 구조 그림과 흐름 그림을 한 장씩 갖고, Concept 은 그 기록이 설명하는 동작 하나를 갖는다",
"note": "final/assets/ 의 그림 12장이 모두 글감에 배정돼 있다. Case 는 구조 그림과 흐름 그림을 한 장씩 갖고, Concept 은 표로 충분하지 않고 구조·순서·경계가 핵심인 경우 그 동작을 설명하는 그림을 갖는다",
"assigned": [
"ap1-direct-architecture",
"ap1-browser-bearer-flow",
@@ -69,7 +69,9 @@
"ap3-csrf-boundary",
"ap4-edge-trust-architecture",
"ap4-edge-forward-auth-flow",
"login-api-phase-split"
"login-api-phase-split",
"bearer-jwt-validation-chain",
"idp-broker-upstream-downstream-boundary"
],
"unassigned": [],
"removed": [
@@ -332,7 +334,8 @@
"slug": "bearer-jwt-validation-chain",
"readiness": "READY",
"source": [
"final/document.md#선택의-이유와-지킨-경계-ap1"
"final/document.md#선택의-이유와-지킨-경계-ap1",
"final/document.md#선택이-코드와-흐름에-반영되는-방식-ap1-완주"
],
"basis-version": "Keycloak 26.7.0 · Spring Security OAuth2 Resource Server",
"classification": "보호 자원이 서명만 보지 않고 issuer·audience·시간까지 본다는 것을 알아야 401 판정을 읽을 수 있다",
@@ -341,12 +344,19 @@
"case:split-custody-access-token"
],
"kind": "concept",
"ssot-assets": [
"bearer-jwt-validation-chain"
],
"publication": "게시됨",
"file": "oauth-oidc-auth-boundary/concept/concept-bearer-jwt-validation-chain.md",
"status": "게시 전",
"studioId": "87000d59-b69f-4010-9481-0b71c8bde32d",
"assets": [],
"assetFiles": [],
"assets": [
"bearer-jwt-validation-chain"
],
"assetFiles": [
"bearer-jwt-validation-chain"
],
"evidenceFiles": []
},
{
@@ -421,12 +431,19 @@
"reference:external-idp-federation-application-boundary"
],
"kind": "concept",
"ssot-assets": [
"idp-broker-upstream-downstream-boundary"
],
"publication": "게시됨",
"file": "oauth-oidc-auth-boundary/concept/concept-idp-brokering.md",
"status": "게시 전",
"studioId": "d99fdec9-fe9e-4e0f-a50b-6fb9b9ed5719",
"assets": [],
"assetFiles": [],
"assets": [
"idp-broker-upstream-downstream-boundary"
],
"assetFiles": [
"idp-broker-upstream-downstream-boundary"
],
"evidenceFiles": []
}
],
@@ -877,7 +894,8 @@
"id": "SSOT-bearer-jwt-validation-chain",
"kindCandidate": "CONCEPT",
"sourceRefs": [
"final/document.md#선택의-이유와-지킨-경계-ap1"
"final/document.md#선택의-이유와-지킨-경계-ap1",
"final/document.md#선택이-코드와-흐름에-반영되는-방식-ap1-완주"
],
"summary": "Bearer JWT가 인증된 principal이 되기까지",
"disposition": "PROMOTE",