24 lines
3.3 KiB
XML
24 lines
3.3 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<mxfile host="app.diagrams.net" modified="2026-07-23T00:00:00.000Z" agent="techviz-harness" version="24.7.17" type="device">
|
|
<diagram id="credential-contract-migration" name="패턴 이동은 credential contract의 소유권 전환이다">
|
|
<mxGraphModel dx="1138" dy="300" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1138" pageHeight="1169" math="0" shadow="0">
|
|
<root>
|
|
<mxCell id="0"/>
|
|
<mxCell id="1" parent="0"/>
|
|
<mxCell id="n_ap1-to-ap2" value="AP1 → AP2<br/>호출 · Bearer API 유지<br/>소유 · callback → mediator<br/>브라우저 · access API + session<br/>운영 · CORS → AP2 UI<br/>성격 · callback 재배치" tooltip="Bearer API는 유지하되 OAuth callback과 browser-facing session·access endpoint의 책임을 mediator 쪽으로 옮기는 전환. | Evidence: L1285-L1285" style="whiteSpace=wrap;html=1;rounded=1;strokeWidth=2;fontSize=14;fontStyle=1;fillColor=#ffffff;strokeColor=#2d4357;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="45.0" y="45.0" width="223.0" height="139.0" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="n_ap2-to-ap3" value="AP2 → AP3<br/>호출 · direct API → /bff/**<br/>소유 · UI API → BFF<br/>브라우저 · /token/access 제거<br/>운영 · error mapping + CSRF<br/>성격 · direct path 제거" tooltip="Browser access handoff와 direct API 호출을 제거하고 UI의 API 계약과 관련 방어를 BFF가 소유하게 하는 전환. | Evidence: L1287-L1287" style="whiteSpace=wrap;html=1;rounded=1;strokeWidth=2;fontSize=14;fontStyle=1;fillColor=#ffffff;strokeColor=#2d4357;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="320.0" y="45.0" width="223.0" height="139.0" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="n_ap3-to-ap4" value="AP3 → AP4<br/>호출 · API 조합 → identity<br/>소유 · app session → edge<br/>브라우저 · identity projection<br/>운영 · 인가 → upstream/policy<br/>성격 · upgrade 아님" tooltip="Application-owned session과 API orchestration을 edge-owned session과 identity projection으로 바꾸고 세밀한 인가를 재배치하는 전환. | Evidence: L1289-L1289" style="whiteSpace=wrap;html=1;rounded=1;strokeWidth=2;fontSize=14;fontStyle=1;fillColor=#ffffff;strokeColor=#2d4357;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="595.0" y="45.0" width="223.0" height="139.0" as="geometry"/>
|
|
</mxCell>
|
|
<mxCell id="n_ap4-to-ap3" value="AP4 → AP3<br/>호출 · headers → BFF workflow<br/>소유 · claims/workflow → BFF<br/>브라우저 · app workflow<br/>운영 · state + verification<br/>성격 · 역방향 가능" tooltip="Upstream의 claim과 workflow 요구가 커질 때 header contract를 계속 넓히지 않고 책임을 BFF로 되돌리는 역방향 전환. | Evidence: L1291-L1291" style="whiteSpace=wrap;html=1;rounded=1;strokeWidth=2;fontSize=14;fontStyle=1;fillColor=#ffffff;strokeColor=#2d4357;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="870.0" y="45.0" width="223.0" height="139.0" as="geometry"/>
|
|
</mxCell>
|
|
</root>
|
|
</mxGraphModel>
|
|
</diagram>
|
|
</mxfile>
|