feat: 가상화 문서들 추가
This commit is contained in:
+2
-2
@@ -10,7 +10,7 @@ C-1 에서 로그아웃이 다른 앱으로 퍼지지 않는 것을 관측했고
|
||||
|
||||
## Elements and evidence
|
||||
|
||||
- **한 앱에서 로그아웃** (actor): Keycloak 세션이 끝난다. Evidence: L458–L465.
|
||||
- **한 앱의 로그아웃** (actor): 한 앱에서 로그아웃하면 Keycloak 세션이 끝난다. Evidence: L458–L465.
|
||||
- **backchannelLogoutUrl** (component): 클라이언트 설정. 비어 있었다. Evidence: L458–L466.
|
||||
- **앱의 수신 엔드포인트** (component): 소스에 없었다. Evidence: L458–L466.
|
||||
- **다른 앱의 세션** (component): 그대로 남는다. Evidence: L458–L466.
|
||||
@@ -19,4 +19,4 @@ C-1 에서 로그아웃이 다른 앱으로 퍼지지 않는 것을 관측했고
|
||||
|
||||
- **backchannelLogoutUrl → 앱의 수신 엔드포인트:** 호출 (주소 필요). Evidence: L458–L466.
|
||||
- **앱의 수신 엔드포인트 → 다른 앱의 세션:** 세션 삭제 (엔드포인트 필요). Evidence: L458–L466.
|
||||
- **한 앱에서 로그아웃 → backchannelLogoutUrl:** 통지 주소 조회. Evidence: L458–L466.
|
||||
- **한 앱의 로그아웃 → backchannelLogoutUrl:** 통지 주소 조회. Evidence: L458–L466.
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
# 백채널 로그아웃은 양쪽이 있어야 한다
|
||||
# Question: IdP 쪽만 설정하면 로그아웃이 퍼지는가
|
||||
direction: down
|
||||
n0: "한 앱에서 로그아웃" {
|
||||
n0: "한 앱의 로그아웃" {
|
||||
shape: person
|
||||
}
|
||||
n1: "backchannelLogoutUrl" {
|
||||
|
||||
+1
-1
@@ -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"];
|
||||
|
||||
+1
-1
@@ -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<br/>주소 없음" 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">
|
||||
|
||||
+2
-2
@@ -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
-2
@@ -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
-1
@@ -1,7 +1,7 @@
|
||||
%% 백채널 로그아웃은 양쪽이 있어야 한다
|
||||
%% question: IdP 쪽만 설정하면 로그아웃이 퍼지는가
|
||||
flowchart TB
|
||||
n0(["한 앱에서 로그아웃"])
|
||||
n0(["한 앱의 로그아웃"])
|
||||
n1["backchannelLogoutUrl"]
|
||||
n2["앱의 수신 엔드포인트"]
|
||||
n3["다른 앱의 세션"]
|
||||
|
||||
+1
-1
@@ -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 |
Reference in New Issue
Block a user