-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathwith_fedcm.drawio
78 lines (78 loc) · 7.33 KB
/
with_fedcm.drawio
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<mxfile host="app.diagrams.net" modified="2024-01-13T16:07:27.194Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/112.0" etag="kgZ50DSLpE8N6rrcvQ1d" version="22.1.18" type="github">
<diagram name="Page-1" id="anJKwnXN8Y9O5HfLo2FT">
<mxGraphModel dx="1154" dy="599" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="uP5WmYj4boi_SPSR-1-8-1" value="<div>Relying Party <br></div><div>(website) </div>" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={"edgeStyle":"elbowEdgeStyle","elbow":"vertical","curved":0,"rounded":0};" vertex="1" parent="1">
<mxGeometry x="30" y="40" width="120" height="550" as="geometry" />
</mxCell>
<mxCell id="uP5WmYj4boi_SPSR-1-8-2" value="<div>Web Browser<br></div><div><br></div>" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={"edgeStyle":"elbowEdgeStyle","elbow":"vertical","curved":0,"rounded":0};" vertex="1" parent="1">
<mxGeometry x="315" y="40" width="100" height="550" as="geometry" />
</mxCell>
<mxCell id="uP5WmYj4boi_SPSR-1-8-13" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="uP5WmYj4boi_SPSR-1-8-3">
<mxGeometry relative="1" as="geometry">
<mxPoint x="364.9655172413793" y="250" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="uP5WmYj4boi_SPSR-1-8-3" value="The browser pops a window and asks Alice to <br>select an IdP" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="305" y="160" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="uP5WmYj4boi_SPSR-1-8-4" value="<div align="center"><font style="font-size: 12px;">&nbsp;Alice clicks on</font></div><div align="center"><font style="font-size: 12px;">&nbsp;"Sign in"</font></div>" style="rounded=0;whiteSpace=wrap;html=1;align=center;" vertex="1" parent="1">
<mxGeometry x="30" y="120" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="uP5WmYj4boi_SPSR-1-8-5" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="149" y="150" as="sourcePoint" />
<mxPoint x="304" y="190" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="uP5WmYj4boi_SPSR-1-8-6" value="<div>The website triggers <br></div><div>the browser FedCM API <br></div><div>by calling:<br>`navigator.credentials.get`<br></div><div>with an array of IdP <br></div><div>URLs as argument</div>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="uP5WmYj4boi_SPSR-1-8-5">
<mxGeometry x="0.0005" y="3" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="uP5WmYj4boi_SPSR-1-8-7" value="<div align="center">Alice is now <br></div><div align="center">signed in<br></div>" style="rounded=0;whiteSpace=wrap;html=1;align=center;" vertex="1" parent="1">
<mxGeometry x="20" y="480" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="uP5WmYj4boi_SPSR-1-8-10" value="<div>Identity Provider</div><div>(GitHub)<br></div>" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={"edgeStyle":"elbowEdgeStyle","elbow":"vertical","curved":0,"rounded":0};" vertex="1" parent="1">
<mxGeometry x="520" y="40" width="100" height="540" as="geometry" />
</mxCell>
<mxCell id="uP5WmYj4boi_SPSR-1-8-15" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" target="uP5WmYj4boi_SPSR-1-8-14">
<mxGeometry relative="1" as="geometry">
<mxPoint x="364.9999999999998" y="310" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="uP5WmYj4boi_SPSR-1-8-14" value="The browser manages authentication..." style="whiteSpace=wrap;html=1;rounded=0;" vertex="1" parent="1">
<mxGeometry x="305" y="350" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="uP5WmYj4boi_SPSR-1-8-18" value="" style="endArrow=classic;html=1;rounded=0;entryX=1;entryY=0.75;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="569.5" y="400" as="sourcePoint" />
<mxPoint x="424.9999999999998" y="400" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="uP5WmYj4boi_SPSR-1-8-19" value="" style="endArrow=classic;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="uP5WmYj4boi_SPSR-1-8-14" target="uP5WmYj4boi_SPSR-1-8-7">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="300" y="460" as="sourcePoint" />
<mxPoint x="300" y="370" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="uP5WmYj4boi_SPSR-1-8-25" value="<div>...and returns the</div><div>access token<br></div>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="uP5WmYj4boi_SPSR-1-8-19">
<mxGeometry x="0.0063" y="-2" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="uP5WmYj4boi_SPSR-1-8-21" value="Alice selects an IdP,<br>(GitHub) <br> " style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="305" y="250" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="uP5WmYj4boi_SPSR-1-8-24" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.25;exitDx=0;exitDy=0;" edge="1" parent="1" source="uP5WmYj4boi_SPSR-1-8-14" target="uP5WmYj4boi_SPSR-1-8-10">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="250" y="360" as="sourcePoint" />
<mxPoint x="300" y="310" as="targetPoint" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>