46 lines
3.3 KiB
XML
46 lines
3.3 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 760" role="img" aria-labelledby="sessions-auth-2023-stale-events-title sessions-auth-2023-stale-events-desc">
|
|
<title id="sessions-auth-2023-stale-events-title">Stale rotation и logout в одной учебной lineage</title>
|
|
<desc id="sessions-auth-2023-stale-events-desc">Сервер заменяет fixture-s-1 на fixture-s-2. Повторная rotation и logout старого ID отвергаются и не меняют successor. Logout нового ID revoke-ит его и формирует clear cookie.</desc>
|
|
<style>
|
|
.bg { fill: #f7fafc; }
|
|
.title { fill: #132238; font: 700 42px Arial, sans-serif; }
|
|
.sub { fill: #4b5f76; font: 500 24px Arial, sans-serif; }
|
|
.lane { fill: #ffffff; stroke: #cbd8e6; stroke-width: 3; }
|
|
.active { fill: #e4f7ee; stroke: #21895e; stroke-width: 4; }
|
|
.warn { fill: #fff3d9; stroke: #bd7b18; stroke-width: 4; }
|
|
.reject { fill: #fde8e8; stroke: #bd3d4a; stroke-width: 4; }
|
|
.label { fill: #132238; font: 700 28px Arial, sans-serif; }
|
|
.body { fill: #344b64; font: 500 23px Arial, sans-serif; }
|
|
.arrow { stroke: #53718e; stroke-width: 7; fill: none; marker-end: url(#sessions-auth-2023-stale-events-arrow); }
|
|
.dash { stroke: #bd3d4a; stroke-width: 6; fill: none; stroke-dasharray: 13 10; marker-end: url(#sessions-auth-2023-stale-events-red-arrow); }
|
|
</style>
|
|
<defs>
|
|
<marker id="sessions-auth-2023-stale-events-arrow" markerWidth="12" markerHeight="12" refX="10" refY="6" orient="auto"><path d="M0,0 L12,6 L0,12 Z" fill="#53718e"/></marker>
|
|
<marker id="sessions-auth-2023-stale-events-red-arrow" markerWidth="12" markerHeight="12" refX="10" refY="6" orient="auto"><path d="M0,0 L12,6 L0,12 Z" fill="#bd3d4a"/></marker>
|
|
</defs>
|
|
<rect class="bg" width="1200" height="760" rx="34"/>
|
|
<text class="title" x="64" y="78">Stale-события не меняют current successor</text>
|
|
<text class="sub" x="64" y="118">logout-current: old ID отклонён, active successor остаётся прежним.</text>
|
|
<rect class="lane" x="64" y="180" width="1072" height="178" rx="26"/>
|
|
<text class="label" x="96" y="230">Server lineage</text>
|
|
<rect class="warn" x="286" y="212" width="224" height="110" rx="18"/>
|
|
<text class="label" x="316" y="257">fixture-s-1</text>
|
|
<text class="body" x="316" y="296">rotated</text>
|
|
<path class="arrow" d="M522 267 H674"/>
|
|
<rect class="active" x="688" y="212" width="224" height="110" rx="18"/>
|
|
<text class="label" x="718" y="257">fixture-s-2</text>
|
|
<text class="body" x="718" y="296">active current</text>
|
|
<rect class="reject" x="64" y="478" width="290" height="148" rx="22"/>
|
|
<text class="label" x="94" y="528">stale rotation s-1</text>
|
|
<text class="body" x="94" y="572">reject; no s-3</text>
|
|
<path class="dash" d="M352 502 C450 416 508 393 643 332"/>
|
|
<rect class="reject" x="440" y="478" width="290" height="148" rx="22"/>
|
|
<text class="label" x="470" y="528">stale logout s-1</text>
|
|
<text class="body" x="470" y="572">reject; s-2 stays active</text>
|
|
<path class="dash" d="M597 474 C655 408 714 384 780 330"/>
|
|
<rect class="active" x="816" y="478" width="320" height="148" rx="22"/>
|
|
<text class="label" x="846" y="528">logout current s-2</text>
|
|
<text class="body" x="846" y="572">revoke + clear cookie</text>
|
|
<path class="arrow" d="M927 468 V365"/>
|
|
</svg>
|