IdentityServer4专题之四:Authorization Endpoint、Token Endpoint、scope、Access Token和Refresh Token、授权服务器发生错误

时间:2023-03-09 18:53:01
IdentityServer4专题之四:Authorization Endpoint、Token Endpoint、scope、Access Token和Refresh Token、授权服务器发生错误

1.Authorization Endpoint

它是与用户交互的端点,用户在此进行为客户端应用授权的操作,即authorization grant

2.Token Endpoint

端点,就是一个web服务,一个路径,一个uri。客户端应用向Token端点展示它的权限,即展示authrization grant或者refresh token,来获取access token.除了implicit这种模式(直接向其发送access token),其它几种模式都需要向token端点处获取access toke。

IdentityServer4专题之四:Authorization Endpoint、Token Endpoint、scope、Access Token和Refresh Token、授权服务器发生错误

3.scope

它代表资源所有者在被保护资源那里的一些权限,因此可以将被保护资源分成不同的scope,这样不同的用户就可以拥有不同的权限,例如可以将一套的api划分为一个权限范围,也可以将读或写的api单独划分为一个scope。

4.Access Token

有时候就叫token,是访问被保护资源的凭据,由一个字符串构成。它代表了给客户端颁发的授权,也就是委托给客户端的权限。oauth2.0并未定义其格式,但要求它描述出被授权访问的资源范围及其持续时间,即scope及其有效期。由授权服务器来颁发这个access token。客户端应用将这个access token展示给被保护资源,被保护资源需要验证此token。

5.Refresh Token

它是用来获取access token的凭据,这也是由授权服务器颁发的。它不会发放到被保护资源,当access token要过期时,客户端通过此refresh token发往授权服务器获得新的access token。但当授权服务器接收到此refresh token,是只返回access token还是再次返回access token和一个refresh token,都是可以的。它具备让客户端应用逐渐降低访问权限的能力。

IdentityServer4专题之四:Authorization Endpoint、Token Endpoint、scope、Access Token和Refresh Token、授权服务器发生错误

IdentityServer4专题之四:Authorization Endpoint、Token Endpoint、scope、Access Token和Refresh Token、授权服务器发生错误

6.授权服务器发生错误

error,肯定会返回,它代表错误的类型

error_description

error_uri,更详细的错误描述

state,是请求中的state。

根据访问端点的不同,返回的错误信息的形式也不一样。授权端点是以query string的形式返回错误信息,而令牌端点是以post的bad中返回的,将错误字段放到bad中,状态码可能是400\401\500。

IdentityServer4专题之四:Authorization Endpoint、Token Endpoint、scope、Access Token和Refresh Token、授权服务器发生错误

可能返回的错误类型一共有六种,其中有五种错误的状态码都是400,只有invalid_client是401。

IdentityServer4专题之四:Authorization Endpoint、Token Endpoint、scope、Access Token和Refresh Token、授权服务器发生错误