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,7 +10,7 @@ C-1 에서 로그아웃이 다른 앱으로 퍼지지 않는 것을 관측했고
## Elements and evidence
- **한 앱에서 로그아웃** (actor): Keycloak 세션이 끝난다. Evidence: L458L465.
- **한 앱 로그아웃** (actor): 한 앱에서 로그아웃하면 Keycloak 세션이 끝난다. Evidence: L458L465.
- **backchannelLogoutUrl** (component): 클라이언트 설정. 비어 있었다. Evidence: L458L466.
- **앱의 수신 엔드포인트** (component): 소스에 없었다. Evidence: L458L466.
- **다른 앱의 세션** (component): 그대로 남는다. Evidence: L458L466.
@@ -19,4 +19,4 @@ C-1 에서 로그아웃이 다른 앱으로 퍼지지 않는 것을 관측했고
- **backchannelLogoutUrl → 앱의 수신 엔드포인트:** 호출 (주소 필요). Evidence: L458L466.
- **앱의 수신 엔드포인트 → 다른 앱의 세션:** 세션 삭제 (엔드포인트 필요). Evidence: L458L466.
- **한 앱에서 로그아웃 → backchannelLogoutUrl:** 통지 주소 조회. Evidence: L458L466.
- **한 앱 로그아웃 → backchannelLogoutUrl:** 통지 주소 조회. Evidence: L458L466.
@@ -1,7 +1,7 @@
# 백채널 로그아웃은 양쪽이 있어야 한다
# Question: IdP 쪽만 설정하면 로그아웃이 퍼지는가
direction: down
n0: "한 앱에서 로그아웃" {
n0: "한 앱 로그아웃" {
shape: person
}
n1: "backchannelLogoutUrl" {
@@ -2,7 +2,7 @@ digraph techviz {
graph [rankdir=TB, splines=ortho, nodesep=0.55, ranksep=0.85];
node [fontname=Helvetica, fontsize=11, margin="0.18,0.12", style="rounded,filled", fillcolor=white, color="#2d4357", penwidth=1.5];
edge [fontname=Helvetica, fontsize=10, color="#364b5f", penwidth=1.4, arrowsize=0.75];
n0 [label="한 앱에서 로그아웃", shape=box, style="rounded,dashed,filled"];
n0 [label="한 앱 로그아웃", shape=box, style="rounded,dashed,filled"];
n1 [label="backchannelLogoutUrl", shape=box, style="rounded,filled"];
n2 [label="앱의 수신 엔드포인트", shape=box, style="rounded,filled"];
n3 [label="다른 앱의 세션", shape=box, style="rounded,filled"];
@@ -5,7 +5,7 @@
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="n_logout" value="한 앱에서 로그아웃" tooltip="Keycloak 세션이 끝난다. | Evidence: L458-L465" style="whiteSpace=wrap;html=1;rounded=1;strokeWidth=2;fontSize=14;fontStyle=1;fillColor=#ffffff;strokeColor=#2d4357;verticalAlign=middle;dashed=1;fillColor=#f5f7fa;strokeColor=#2563eb;strokeWidth=2;" vertex="1" parent="1">
<mxCell id="n_logout" value="한 앱 로그아웃" tooltip="한 앱에서 로그아웃하면 Keycloak 세션이 끝난다. | Evidence: L458-L465" style="whiteSpace=wrap;html=1;rounded=1;strokeWidth=2;fontSize=14;fontStyle=1;fillColor=#ffffff;strokeColor=#2d4357;verticalAlign=middle;dashed=1;fillColor=#f5f7fa;strokeColor=#2563eb;strokeWidth=2;" vertex="1" parent="1">
<mxGeometry x="82.0" y="60.0" width="150.0" height="84.0" as="geometry"/>
</mxCell>
<mxCell id="n_kc-config" value="backchannelLogoutUrl&lt;br/&gt;주소 없음" tooltip="클라이언트 설정. 비어 있었다. | Evidence: L458-L466" style="whiteSpace=wrap;html=1;rounded=1;strokeWidth=2;fontSize=14;fontStyle=1;fillColor=#ffffff;strokeColor=#2d4357;verticalAlign=middle;strokeColor=#d97706;fillColor=#fffdf5;" vertex="1" parent="1">
@@ -361,11 +361,11 @@
"locked": false,
"fontSize": 15,
"fontFamily": 5,
"text": "한 앱에서 로그아웃",
"text": "한 앱 로그아웃",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": null,
"originalText": "한 앱에서 로그아웃",
"originalText": "한 앱 로그아웃",
"autoResize": true,
"lineHeight": 1.25
},
@@ -2,7 +2,7 @@
"harness_version": "0.2.0",
"spec_id": "c2-backchannel-both-sides",
"spec_version": "1.1",
"spec_sha256": "dd700a72a2ec7d5427681b95610e9715385241a81c78e2e9dce2aafdee32b35c",
"spec_sha256": "7197b688cc0a3bdd859bda6c2bc4c32af3e562e2bd165d27d50e66aa63bc942d",
"source_context": {
"document": "docs/keycloak-session-store/final/document.md",
"document_sha256": "1d44cba1905544d92f1d26ae36a8deb64a3db3914d6b488fd30d6ae7f8cfbabe",
@@ -14,10 +14,10 @@
},
"outputs": [
"c2-backchannel-both-sides.svg",
"c2-backchannel-both-sides.drawio",
"c2-backchannel-both-sides.mmd",
"c2-backchannel-both-sides.d2",
"c2-backchannel-both-sides.dot",
"c2-backchannel-both-sides.drawio",
"c2-backchannel-both-sides.excalidraw",
"c2-backchannel-both-sides.alt.md"
],
@@ -1,7 +1,7 @@
%% 백채널 로그아웃은 양쪽이 있어야 한다
%% question: IdP 쪽만 설정하면 로그아웃이 퍼지는가
flowchart TB
n0(["한 앱에서 로그아웃"])
n0(["한 앱 로그아웃"])
n1["backchannelLogoutUrl"]
n2["앱의 수신 엔드포인트"]
n3["다른 앱의 세션"]
@@ -61,7 +61,7 @@
<text class="edge-label" x="181.0" y="193.0">통지 주소 조회</text>
<g id="node-logout">
<g class="actor-symbol emphasis-primary" data-evidence="458-465"><circle cx="157.0" cy="80.0" r="11.0" /><line x1="157.0" y1="96.0" x2="157.0" y2="105.0" /><line x1="139.0" y1="106.0" x2="175.0" y2="106.0" /><line x1="157.0" y1="105.0" x2="142.0" y2="122.0" /><line x1="157.0" y1="105.0" x2="172.0" y2="122.0" /></g>
<text class="node-label" x="157.0" y="137.0">한 앱에서 로그아웃</text>
<text class="node-label" x="157.0" y="137.0">한 앱 로그아웃</text>
</g>
<g id="node-kc-config">
<rect class="node-shape kind-component emphasis-warning role-control" data-evidence="458-466" x="70.0" y="240.0" width="174.0" height="71.0" rx="7" />

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB