-
Notifications
You must be signed in to change notification settings - Fork 0
/
Redis 2.0
160 lines (160 loc) · 18.5 KB
/
Redis 2.0
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
<mxfile host="www.draw.io" modified="2020-01-14T15:35:16.025Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Safari/605.1.15" etag="7CRQxdSwsG6eL-SX8Gp-" version="12.5.1" type="github">
<diagram id="CR5-25BmCf8NC1W6WDuo" name="Page-1">
<mxGraphModel dx="1403" dy="794" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="kceIy9FgQmn0JMUtJkrw-1" value="oauth:client:{client_id}" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;fontSize=14;" parent="1" vertex="1">
<mxGeometry x="40" y="40" width="240" height="104" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-2" value="string: client_secret" style="text;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;" parent="kceIy9FgQmn0JMUtJkrw-1" vertex="1">
<mxGeometry y="26" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-3" value="string[]: redirect_uri" style="text;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;" parent="kceIy9FgQmn0JMUtJkrw-1" vertex="1">
<mxGeometry y="52" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-4" value="string[]: scope" style="text;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;" parent="kceIy9FgQmn0JMUtJkrw-1" vertex="1">
<mxGeometry y="78" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-9" value="oauth:authorization_code:{code}" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;fontSize=14;" parent="1" vertex="1">
<mxGeometry x="40" y="200" width="240" height="208" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-10" value="integer: client_id" style="text;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;" parent="kceIy9FgQmn0JMUtJkrw-9" vertex="1">
<mxGeometry y="26" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-11" value="string: redirect_uri" style="text;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;" parent="kceIy9FgQmn0JMUtJkrw-9" vertex="1">
<mxGeometry y="52" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-12" value="integer: user_id" style="text;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;" parent="kceIy9FgQmn0JMUtJkrw-9" vertex="1">
<mxGeometry y="78" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-15" value="string[]: scope" style="text;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;" parent="kceIy9FgQmn0JMUtJkrw-9" vertex="1">
<mxGeometry y="104" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-71" value="string: login" style="text;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;" parent="kceIy9FgQmn0JMUtJkrw-9" vertex="1">
<mxGeometry y="130" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-56" value="string: code_challenge" style="text;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;" parent="kceIy9FgQmn0JMUtJkrw-9" vertex="1">
<mxGeometry y="156" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-57" value="string: code_challenge_method" style="text;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;" parent="kceIy9FgQmn0JMUtJkrw-9" vertex="1">
<mxGeometry y="182" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="kceIy9FgQmn0JMUtJkrw-16" target="kceIy9FgQmn0JMUtJkrw-4" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-16" value="Список потенциально разрешенных приложению scope" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="1" vertex="1">
<mxGeometry x="322" y="121" width="330" height="20" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="kceIy9FgQmn0JMUtJkrw-18" target="kceIy9FgQmn0JMUtJkrw-3" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-18" value="Список разрешенных приложению redirect_uri" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="1" vertex="1">
<mxGeometry x="322" y="95" width="280" height="20" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="kceIy9FgQmn0JMUtJkrw-20" target="kceIy9FgQmn0JMUtJkrw-15" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-20" value="Список scope, с которыми выпускается токен" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="1" vertex="1">
<mxGeometry x="320" y="307" width="280" height="20" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="kceIy9FgQmn0JMUtJkrw-22" target="kceIy9FgQmn0JMUtJkrw-9" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-22" value="Код авторизации хранится<br>буквально пару минут." style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="1" vertex="1">
<mxGeometry x="75" y="430" width="170" height="30" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-27" value="oauth:authorization_code:list" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;fontSize=14;" parent="1" vertex="1">
<mxGeometry x="750" y="370" width="240" height="52" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-28" value="string: code" style="text;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;" parent="kceIy9FgQmn0JMUtJkrw-27" vertex="1">
<mxGeometry y="26" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-32" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="kceIy9FgQmn0JMUtJkrw-31" target="kceIy9FgQmn0JMUtJkrw-27" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-31" value="Список всех выпущенных кодов авторизации.<br>Этот список синхронизатор сливает в mysql" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="1" vertex="1">
<mxGeometry x="730" y="453" width="280" height="30" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-33" value="oauth:access_token:{token}" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;fontSize=14;" parent="1" vertex="1">
<mxGeometry x="40" y="480" width="240" height="208" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-34" value="string: access_token" style="text;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;" parent="kceIy9FgQmn0JMUtJkrw-33" vertex="1">
<mxGeometry y="26" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-47" value="integer: client_id" style="text;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;" parent="kceIy9FgQmn0JMUtJkrw-33" vertex="1">
<mxGeometry y="52" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-46" value="integer: user_id" style="text;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;" parent="kceIy9FgQmn0JMUtJkrw-33" vertex="1">
<mxGeometry y="78" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-35" value="integer: expires_in" style="text;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;" parent="kceIy9FgQmn0JMUtJkrw-33" vertex="1">
<mxGeometry y="104" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-36" value="string: refresh_token" style="text;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;" parent="kceIy9FgQmn0JMUtJkrw-33" vertex="1">
<mxGeometry y="130" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-37" value="string[]: scope" style="text;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;" parent="kceIy9FgQmn0JMUtJkrw-33" vertex="1">
<mxGeometry y="156" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-58" value="string: login" style="text;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;" parent="kceIy9FgQmn0JMUtJkrw-33" vertex="1">
<mxGeometry y="182" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-39" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="kceIy9FgQmn0JMUtJkrw-38" target="kceIy9FgQmn0JMUtJkrw-37" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-38" value="<span style="">Список scope, с которыми выпущен&nbsp;токен</span>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="1" vertex="1">
<mxGeometry x="320" y="639" width="250" height="20" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-40" value="oauth:user:{username}:{password}" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;fontSize=14;" parent="1" vertex="1">
<mxGeometry x="882" y="121" width="240" height="52" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-41" value="integer: user_id" style="text;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;" parent="kceIy9FgQmn0JMUtJkrw-40" vertex="1">
<mxGeometry y="26" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-44" value="oauth:user:{id}" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;fontSize=14;" parent="1" vertex="1">
<mxGeometry x="882" y="40" width="240" height="52" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-45" value="All the properties" style="text;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;" parent="kceIy9FgQmn0JMUtJkrw-44" vertex="1">
<mxGeometry y="26" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-48" value="oauth:refresh_token:{token}" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;fontSize=14;" parent="1" vertex="1">
<mxGeometry x="320" y="558" width="240" height="52" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-49" value="string: access_token" style="text;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;" parent="kceIy9FgQmn0JMUtJkrw-48" vertex="1">
<mxGeometry y="26" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-52" value="oauth:access_token:list" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;fontSize=14;" parent="1" vertex="1">
<mxGeometry x="750" y="533" width="240" height="52" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-53" value="string: access_token" style="text;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;" parent="kceIy9FgQmn0JMUtJkrw-52" vertex="1">
<mxGeometry y="26" width="240" height="26" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-55" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="kceIy9FgQmn0JMUtJkrw-54" target="kceIy9FgQmn0JMUtJkrw-52" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-54" value="<span style="">Список всех выпущенных токенов доступа.</span><br style=""><span style="">Этот список синхронизатор сливает в mysql</span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="1" vertex="1">
<mxGeometry x="735" y="622" width="270" height="30" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-60" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="kceIy9FgQmn0JMUtJkrw-59" target="kceIy9FgQmn0JMUtJkrw-58" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-59" value="Email, с которым пользователь авторизовался" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="1" vertex="1">
<mxGeometry x="320" y="665" width="280" height="20" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-62" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="kceIy9FgQmn0JMUtJkrw-61" target="kceIy9FgQmn0JMUtJkrw-33" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-61" value="Токены доступа хранятся<br>вдвое дольше их expires_in,<br>что дает возможность их перевыпускать." style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="1" vertex="1">
<mxGeometry x="35" y="720" width="250" height="50" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-73" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="kceIy9FgQmn0JMUtJkrw-72" target="kceIy9FgQmn0JMUtJkrw-71" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="kceIy9FgQmn0JMUtJkrw-72" value="Email, с которым пользователь авторизовался" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="1" vertex="1">
<mxGeometry x="320" y="333" width="280" height="20" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>