|
@@ -0,0 +1,96 @@
|
|
1
|
+> 授权类型(Authorization Grant)
|
|
2
|
+- Authorization code
|
|
3
|
+- Implicit
|
|
4
|
+- Resource Owner Password Credentials
|
|
5
|
+- Client Credentials
|
|
6
|
+- Device Code
|
|
7
|
+- Refresh Token
|
|
8
|
+
|
|
9
|
+>端点(Endpoint)
|
|
10
|
+- Authorization Endpoint ,授权端点
|
|
11
|
+- Token Endpoint ,Token端点
|
|
12
|
+
|
|
13
|
+> scope 范围
|
|
14
|
+- 代表资源所有者在被保护资源那里的一些权限。
|
|
15
|
+
|
|
16
|
+> Access Token
|
|
17
|
+- 有时候叫做token
|
|
18
|
+- 用来访问被保护资源的凭据
|
|
19
|
+- 代表了给客户端颁发的授权,也就是委托给客户端的权限。
|
|
20
|
+
|
|
21
|
+> Refresh Token
|
|
22
|
+
|
|
23
|
+- 用来获取Access Token 的凭据
|
|
24
|
+- 由Authorization Server 颁发给客户端应用的
|
|
25
|
+- 可选
|
|
26
|
+- 具备让客户端应用逐渐降低访问权限的能力
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+> 错误类型
|
|
30
|
+
|
|
31
|
+- invalid_request
|
|
32
|
+- invalid_client
|
|
33
|
+- invalid_grant
|
|
34
|
+- Unauthorized_client
|
|
35
|
+- Unsupported_grant_type
|
|
36
|
+- invalid_scope
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+> OpenID connect 身份认证
|
|
40
|
+
|
|
41
|
+- ID Token
|
|
42
|
+- UserInfo端点
|
|
43
|
+- 提供一组标识身份的scopes和claims
|
|
44
|
+ - profile
|
|
45
|
+ - email
|
|
46
|
+ - address
|
|
47
|
+ - phone
|
|
48
|
+
|
|
49
|
+> OpenID Connect三个流程
|
|
50
|
+
|
|
51
|
+- Authorization code Flow
|
|
52
|
+- Implicit Flow
|
|
53
|
+- Hybrid Flow
|
|
54
|
+
|
|
55
|
+> Identity Server4功能
|
|
56
|
+
|
|
57
|
+- protect your resources
|
|
58
|
+- authenticate users using a local account store or via an external identity provider
|
|
59
|
+- provide session management and single sign-on
|
|
60
|
+- manage and authenticate clients
|
|
61
|
+- issue identity and access token to clients
|
|
62
|
+- valiclate tokens
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+>准备
|
|
66
|
+- 安装自定义模板
|
|
67
|
+ - dotnet new -i IdentityServer4.Templates
|
|
68
|
+
|
|
69
|
+> 设置Asp.Net核心应用程序
|
|
70
|
+
|
|
71
|
+- 首先为应用程序创建一个目录 - 然后使用我们的模板创建一个包含基本IdentityServer设置的ASP.NET Core应用程序
|
|
72
|
+```
|
|
73
|
+md quickstart
|
|
74
|
+cd quickstart
|
|
75
|
+
|
|
76
|
+md src
|
|
77
|
+cd src
|
|
78
|
+
|
|
79
|
+dotnet new is4empty -n IdentityServer
|
|
80
|
+```
|
|
81
|
+- 这里创建了以下文件
|
|
82
|
+ - IdentityServer.csproj- 项目文件和Properties\launchSettings.json文件
|
|
83
|
+ - Program.cs和Startup.cs- 主要的应用程序入口点
|
|
84
|
+ - Config.cs - IdentityServer资源和客户端配置文件
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+- 创建IS4模板
|
|
88
|
+ - 命令:dotnet new -i IdentityServer4.templates
|
|
89
|
+-删除创建的IS4模板
|
|
90
|
+ - 命令:dotnet new --debug:reinit
|
|
91
|
+
|
|
92
|
+- 创建项目
|
|
93
|
+ - 命令:dotnet new is4inmem --name Idp
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
|