-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathOauth.drawio
97 lines (97 loc) · 9.29 KB
/
Oauth.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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<mxfile host="65bd71144e">
<diagram id="HO2sN8D8OVh3ecPjYA3B" name="Page-1">
<mxGraphModel dx="1011" dy="568" 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="19" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="1" vertex="1">
<mxGeometry x="10" y="290" width="820" height="380" as="geometry"/>
</mxCell>
<mxCell id="2" value="User" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;" parent="1" vertex="1">
<mxGeometry x="490" y="155" width="160" height="120" as="geometry"/>
</mxCell>
<mxCell id="3" value="Id: long Name: string UserName: string EMail: string AvatarUrl: string WebProfileUrl: string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="2" vertex="1">
<mxGeometry y="26" width="160" height="94" as="geometry"/>
</mxCell>
<mxCell id="11" value="GitLabOauthSettings" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;" parent="1" vertex="1">
<mxGeometry x="30" y="530" width="160" height="90" as="geometry"/>
</mxCell>
<mxCell id="12" value="BaseAddress: string ClientId: string Secret: string JwtSecret: string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="11" vertex="1">
<mxGeometry y="26" width="160" height="64" as="geometry"/>
</mxCell>
<mxCell id="13" value="GitLabOauthService : IGitLabOauthService" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=40;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;" parent="1" vertex="1">
<mxGeometry x="305" y="490" width="240" height="100" as="geometry"/>
</mxCell>
<mxCell id="16" value="- ctor(GitLabOauthSettings seetings) - GenerateToken(User user): string - GetUser(string oAuthCode): Task<User?>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="13" vertex="1">
<mxGeometry y="40" width="240" height="60" as="geometry"/>
</mxCell>
<mxCell id="17" value="OAuthMutation" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;" parent="1" vertex="1">
<mxGeometry x="280" y="340" width="300" height="90" as="geometry"/>
</mxCell>
<mxCell id="18" value="- ctor(IGitLabOauthService oauthService) - GitLabAuthenticate(string oauthCode): Task<string>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="17" vertex="1">
<mxGeometry y="30" width="300" height="60" as="geometry"/>
</mxCell>
<mxCell id="20" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;exitX=-0.01;exitY=0.25;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.997;entryY=0.161;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="16" target="11" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="440" y="510" as="sourcePoint"/>
<mxPoint x="193" y="547" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="21" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;exitX=0.532;exitY=1.008;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.556;entryY=-0.06;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="18" target="13" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="312.5999999999999" y="555" as="sourcePoint"/>
<mxPoint x="198.07999999999993" y="515.53" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="22" value="Backend GraphQL API" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;" parent="1" vertex="1">
<mxGeometry x="20" y="300" width="140" height="20" as="geometry"/>
</mxCell>
<mxCell id="23" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;" parent="1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="430" y="130" as="sourcePoint"/>
<mxPoint x="430" y="220" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="24" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=halfCircle;endFill=0;endSize=6;strokeWidth=1;" parent="1" source="17" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="450" y="185" as="sourcePoint"/>
<mxPoint x="430" y="220" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="25" value="" style="ellipse;whiteSpace=wrap;html=1;fontFamily=Helvetica;fontSize=12;fontColor=#000000;align=center;strokeColor=#000000;fillColor=#ffffff;points=[];aspect=fixed;resizable=0;dashed=1;" parent="1" vertex="1">
<mxGeometry x="425" y="210" width="10" height="10" as="geometry"/>
</mxCell>
<mxCell id="26" value="Frontend" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;" parent="1" vertex="1">
<mxGeometry x="400" y="100" width="60" height="20" as="geometry"/>
</mxCell>
<mxCell id="27" value="" style="shape=flexArrow;endArrow=classic;html=1;exitX=0.002;exitY=1.25;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="26" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="250" y="220" as="sourcePoint"/>
<mxPoint x="400" y="280" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="28" value="Call "GitLabAuthenticate" mutation <br>passing "single-use GitLab AUTH CODE"" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;" parent="1" vertex="1">
<mxGeometry x="150" y="200" width="240" height="30" as="geometry"/>
</mxCell>
<mxCell id="29" value="" style="shape=flexArrow;endArrow=classic;html=1;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="460" y="280" as="sourcePoint"/>
<mxPoint x="460" y="130" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="30" value="Returns JWT token<br>with user information" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;" parent="1" vertex="1">
<mxGeometry x="500" y="120" width="130" height="30" as="geometry"/>
</mxCell>
<mxCell id="31" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;exitX=1.019;exitY=0.242;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;" parent="1" source="16" target="32" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="312.5999999999999" y="555" as="sourcePoint"/>
<mxPoint x="199.51999999999998" y="554.4899999999999" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="32" value="GitLabAPI http clent" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;" parent="1" vertex="1">
<mxGeometry x="650" y="530" width="160" height="60" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>