授权类型(Authorization Grant)
- Authorization code
- Implicit
- Resource Owner Password Credentials
- Client Credentials
- Device Code
- Refresh Token
端点(Endpoint)
- Authorization Endpoint ,授权端点
- Token Endpoint ,Token端点
scope 范围
Access Token
- 有时候叫做token
- 用来访问被保护资源的凭据
- 代表了给客户端颁发的授权,也就是委托给客户端的权限。
Refresh Token
- 用来获取Access Token 的凭据
- 由Authorization Server 颁发给客户端应用的
- 可选
- 具备让客户端应用逐渐降低访问权限的能力
错误类型
- invalid_request
- invalid_client
- invalid_grant
- Unauthorized_client
- Unsupported_grant_type
- invalid_scope
OpenID connect 身份认证
- ID Token
- UserInfo端点
- 提供一组标识身份的scopes和claims
- profile
- email
- address
- phone
OpenID Connect三个流程
- Authorization code Flow
- Implicit Flow
- Hybrid Flow
Identity Server4功能
- protect your resources
- authenticate users using a local account store or via an external identity provider
- provide session management and single sign-on
- manage and authenticate clients
- issue identity and access token to clients
- valiclate tokens
准备
- 安装自定义模板
- dotnet new -i IdentityServer4.Templates
设置Asp.Net核心应用程序
- 首先为应用程序创建一个目录 - 然后使用我们的模板创建一个包含基本IdentityServer设置的ASP.NET Core应用程序
```
md quickstart
cd quickstart
md src
cd src
dotnet new is4empty -n IdentityServer
```
这里创建了以下文件
- IdentityServer.csproj- 项目文件和Properties\launchSettings.json文件
- Program.cs和Startup.cs- 主要的应用程序入口点
- Config.cs - IdentityServer资源和客户端配置文件
创建IS4模板
- 命令:dotnet new -i IdentityServer4.templates
-删除创建的IS4模板
- 命令:dotnet new --debug:reinit
创建项目
- 命令:dotnet new is4inmem --name Idp