Skip to content

Commit b60a8e0

Browse files
committed
Intro updates
1 parent bdba39c commit b60a8e0

File tree

5 files changed

+73
-22
lines changed

5 files changed

+73
-22
lines changed

introduction/README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,11 @@ Access tokens are transmitted to the resource server as bearer tokens via the _a
118118

119119
![Opaque bearer token](images/oauth2_opaque_bearer_token.png)
120120

121+
```http request
122+
GET /v1/customers HTTP/1.1
123+
Authorization: Bearer RsT5OjbzRn430zqMLgV3Ia
124+
Host: api.my-resource-server.com
125+
```
121126
Access tokens may be validated by the introspection endpoint of the authorization server.
122127

123128
#### Refresh Tokens
@@ -206,6 +211,9 @@ Typical clients are batch processing applications that run in a non-interactive
206211

207212
[OpenID Connect 1.0 (OIDC)](https://openid.net/specs/openid-connect-core-1_0.html) is a simple identity layer on top of the OAuth 2.0 protocol. It allows Clients to verify the identity of the End-User based on the authentication performed by an Authorization Server, as well as to obtain basic profile information about the End-User in an interoperable and REST-like manner.
208213

214+
![OAuth2 OpenID_Connect](images/oauth_openid_connect.png)
215+
216+
209217
#### Authorization Grants
210218

211219

@@ -214,6 +222,12 @@ Typical clients are batch processing applications that run in a non-interactive
214222

215223
![JWT bearer token](images/oauth2_jwt_bearer_token.png)
216224

225+
```http request
226+
GET /v1/customers HTTP/1.1
227+
Authorization: Bearer eybe3sT5OjbzRn430zqMLgV3Ia...
228+
Host: api.my-resource-server.com
229+
```
230+
217231
#### User Info Endpoint
218232

219233
#### Discovery

introduction/images/oauth_openid_connect.drawio

Lines changed: 34 additions & 0 deletions
Large diffs are not rendered by default.
73.3 KB
Loading

introduction/images/oauth_roles.drawio

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,63 @@
1-
<mxfile host="Electron" modified="2023-04-17T21:41:47.294Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.1.2 Chrome/106.0.5249.199 Electron/21.4.3 Safari/537.36" etag="FoF4FvUR-4_4MdcJX3IZ" version="21.1.2" type="device">
1+
<mxfile host="Electron" modified="2023-04-20T12:01:25.666Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.1.2 Chrome/106.0.5249.199 Electron/21.4.3 Safari/537.36" etag="lnIo0iCfbK-3PKTPrPy5" version="21.1.2" type="device">
22
<diagram name="Page-1" id="FvLJSc5cekAWAvqjR6wY">
3-
<mxGraphModel dx="1114" dy="823" 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">
3+
<mxGraphModel dx="1242" dy="822" 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">
44
<root>
55
<mxCell id="0" />
66
<mxCell id="1" parent="0" />
7-
<mxCell id="obRNbhQuBIRgTvjJq404-11" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" edge="1" parent="1" source="obRNbhQuBIRgTvjJq404-1" target="obRNbhQuBIRgTvjJq404-4">
7+
<mxCell id="obRNbhQuBIRgTvjJq404-11" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="1" source="obRNbhQuBIRgTvjJq404-1" target="obRNbhQuBIRgTvjJq404-4" edge="1">
88
<mxGeometry relative="1" as="geometry" />
99
</mxCell>
10-
<mxCell id="obRNbhQuBIRgTvjJq404-12" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;Request Access Token + Refresh Token&lt;/font&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="obRNbhQuBIRgTvjJq404-11">
10+
<mxCell id="obRNbhQuBIRgTvjJq404-12" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;Request Access Token + Refresh Token&lt;/font&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="obRNbhQuBIRgTvjJq404-11" vertex="1" connectable="0">
1111
<mxGeometry x="-0.0259" y="-2" relative="1" as="geometry">
1212
<mxPoint as="offset" />
1313
</mxGeometry>
1414
</mxCell>
15-
<mxCell id="obRNbhQuBIRgTvjJq404-1" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;&lt;b&gt;Authorization Server&lt;/b&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
15+
<mxCell id="obRNbhQuBIRgTvjJq404-1" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;&lt;b&gt;Authorization Server&lt;br&gt;(OAuth Server)&lt;br&gt;&lt;/b&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
1616
<mxGeometry x="610" y="120" width="200" height="100" as="geometry" />
1717
</mxCell>
18-
<mxCell id="obRNbhQuBIRgTvjJq404-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="obRNbhQuBIRgTvjJq404-2" target="obRNbhQuBIRgTvjJq404-4">
19-
<mxGeometry relative="1" as="geometry" />
20-
</mxCell>
21-
<mxCell id="obRNbhQuBIRgTvjJq404-15" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;Wants to Use&lt;/font&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="obRNbhQuBIRgTvjJq404-5">
22-
<mxGeometry x="-0.025" y="1" relative="1" as="geometry">
23-
<mxPoint as="offset" />
18+
<mxCell id="obRNbhQuBIRgTvjJq404-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="obRNbhQuBIRgTvjJq404-2" target="nPdBDVo38rZQrbwCM63T-1" edge="1">
19+
<mxGeometry relative="1" as="geometry">
20+
<mxPoint x="181" y="280" as="targetPoint" />
2421
</mxGeometry>
2522
</mxCell>
26-
<mxCell id="obRNbhQuBIRgTvjJq404-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="obRNbhQuBIRgTvjJq404-2" target="obRNbhQuBIRgTvjJq404-1">
23+
<mxCell id="obRNbhQuBIRgTvjJq404-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="obRNbhQuBIRgTvjJq404-2" target="obRNbhQuBIRgTvjJq404-1" edge="1">
2724
<mxGeometry relative="1" as="geometry" />
2825
</mxCell>
29-
<mxCell id="obRNbhQuBIRgTvjJq404-16" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;Grant Authorization to Client&lt;/font&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="obRNbhQuBIRgTvjJq404-6">
26+
<mxCell id="obRNbhQuBIRgTvjJq404-16" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;Grant Authorization to Client&lt;/font&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="obRNbhQuBIRgTvjJq404-6" vertex="1" connectable="0">
3027
<mxGeometry x="-0.2738" relative="1" as="geometry">
3128
<mxPoint x="37" as="offset" />
3229
</mxGeometry>
3330
</mxCell>
34-
<mxCell id="obRNbhQuBIRgTvjJq404-2" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;&lt;b&gt;Resource Owner&lt;/b&gt;&lt;/font&gt;" style="shape=umlActor;verticalLabelPosition=top;verticalAlign=bottom;html=1;outlineConnect=0;labelPosition=center;align=center;" vertex="1" parent="1">
31+
<mxCell id="obRNbhQuBIRgTvjJq404-2" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;&lt;b&gt;Resource Owner&lt;br&gt;(The User)&lt;br&gt;&lt;/b&gt;&lt;/font&gt;" style="shape=umlActor;verticalLabelPosition=top;verticalAlign=bottom;html=1;outlineConnect=0;labelPosition=center;align=center;" parent="1" vertex="1">
3532
<mxGeometry x="156" y="120" width="50" height="100" as="geometry" />
3633
</mxCell>
37-
<mxCell id="obRNbhQuBIRgTvjJq404-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="obRNbhQuBIRgTvjJq404-3" target="obRNbhQuBIRgTvjJq404-1">
34+
<mxCell id="obRNbhQuBIRgTvjJq404-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="obRNbhQuBIRgTvjJq404-3" target="obRNbhQuBIRgTvjJq404-1" edge="1">
3835
<mxGeometry relative="1" as="geometry" />
3936
</mxCell>
40-
<mxCell id="obRNbhQuBIRgTvjJq404-14" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;Validate Access Token&lt;/font&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="obRNbhQuBIRgTvjJq404-8">
37+
<mxCell id="obRNbhQuBIRgTvjJq404-14" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;Validate Access Token&lt;/font&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="obRNbhQuBIRgTvjJq404-8" vertex="1" connectable="0">
4138
<mxGeometry x="0.0375" y="-1" relative="1" as="geometry">
4239
<mxPoint as="offset" />
4340
</mxGeometry>
4441
</mxCell>
45-
<mxCell id="obRNbhQuBIRgTvjJq404-3" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;&lt;b&gt;Resource Server&lt;/b&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
46-
<mxGeometry x="610" y="380" width="200" height="100" as="geometry" />
42+
<mxCell id="obRNbhQuBIRgTvjJq404-3" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;&lt;b&gt;Resource Server&lt;br&gt;(API)&lt;br&gt;&lt;/b&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="1" vertex="1">
43+
<mxGeometry x="610" y="461" width="200" height="100" as="geometry" />
4744
</mxCell>
48-
<mxCell id="obRNbhQuBIRgTvjJq404-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="obRNbhQuBIRgTvjJq404-4" target="obRNbhQuBIRgTvjJq404-3">
45+
<mxCell id="obRNbhQuBIRgTvjJq404-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="obRNbhQuBIRgTvjJq404-4" target="obRNbhQuBIRgTvjJq404-3" edge="1">
4946
<mxGeometry relative="1" as="geometry" />
5047
</mxCell>
51-
<mxCell id="obRNbhQuBIRgTvjJq404-13" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;Call with Access Token&lt;/font&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="obRNbhQuBIRgTvjJq404-7">
48+
<mxCell id="obRNbhQuBIRgTvjJq404-13" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;Call with Access Token&lt;/font&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="obRNbhQuBIRgTvjJq404-7" vertex="1" connectable="0">
5249
<mxGeometry x="-0.16" relative="1" as="geometry">
5350
<mxPoint x="25" as="offset" />
5451
</mxGeometry>
5552
</mxCell>
56-
<mxCell id="obRNbhQuBIRgTvjJq404-4" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;&lt;b&gt;Client&lt;/b&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
57-
<mxGeometry x="81" y="380" width="200" height="100" as="geometry" />
53+
<mxCell id="obRNbhQuBIRgTvjJq404-4" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;&lt;b&gt;Client&lt;br&gt;(Application)&lt;br&gt;&lt;/b&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
54+
<mxGeometry x="81" y="461" width="200" height="100" as="geometry" />
55+
</mxCell>
56+
<mxCell id="nPdBDVo38rZQrbwCM63T-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="nPdBDVo38rZQrbwCM63T-1" target="obRNbhQuBIRgTvjJq404-4">
57+
<mxGeometry relative="1" as="geometry" />
58+
</mxCell>
59+
<mxCell id="nPdBDVo38rZQrbwCM63T-1" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;&lt;b&gt;User Agent&lt;br&gt;(Device)&lt;br&gt;&lt;/b&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
60+
<mxGeometry x="81" y="290" width="200" height="100" as="geometry" />
5861
</mxCell>
5962
</root>
6063
</mxGraphModel>

introduction/images/oauth_roles.png

13.9 KB
Loading

0 commit comments

Comments
 (0)