ASP.NET Core分布式项目实战(Identity Server 4回顾,Consent 实现思路介绍)--学习笔记

2021-01-13 15:37:43 浏览数 (1)

任务17:Identity Server 4回顾

上一节我们中间留了一部分,登录之后的 RequireConsent,就是用户授权这一步没有做,直接跳过,这种情况可以理解为我们自己比较信任的客户端,这个应用是我们自己的,自己的用户不需要授权,如果是第三方的话,就需要这一步

我们在简书上通过微博登录的时候,即使输入了微博的用户名密码,也会弹出微博授权页面(如果微博已经授权简书则需要在微博上删除授权才可以看到授权页面)

Config.cs
代码语言:javascript复制
RequireConsent = false,

任务18:Consent 实现思路介绍

流程图

Consent 是通过 IdentityServerInteractionService 获取当前请求的上下文,上下文里面包含客户端 Id,以及请求的 Scope

然后可以通过 FindEnabledResourcesByScopeAsync 获取到所有的 Resources,它包含了 IdentityResources 和 ApiResources,它存储在 IResourceStore 里面,包含了之前添加的所有的 Scope

接着根据 Scope 拼成一个 Model,然后展示到页面上,就是类似微博授权页面

课程链接

http://video.jessetalk.cn/course/explore

0 人点赞