假设你已经掌握以上内容,那么整个流程可以抽象为如下步骤:
(1)、用户输入用户名密码同时带着客户端Id和客户端密钥去identity server4请求access token....(访问令牌,令牌中带着用户Id,带着客户端的名称和密码)
(2)、拿到token后,接着用户去请求客户端指定的控制器方法,那么客户端第一步,会解析token中的客户端名称和密码是否正确,还有过期时间等常规字段的判断...微软提供了IdentityServer4.AccessTokenValidation类库,用来解析id4颁发的token.
.Net Core启用IdentityServer4token验证的方法如下:...因为id4的令牌有访问令牌和引用令牌之分,但是password模式,只支持访问令牌,所以
?
?
这两块这里就不分析了,如果你的项目用到了引用令牌.那么自行查阅代码.
ok,回到第一行代码
?...此时就拿到可以访问的token,里面包含用户Id的信息,接着配合授权系统的动态授权功能,去权限系统判断当前用户是否具有访问当前Api的权限.就能判断当前请求是否被允许
这里只介绍了id4 token的核心认证流程