Go to my github

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

任务17:Identity Server 4回顾

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

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

Config.cs

RequireConsent = false,

任务18:Consent 实现思路介绍

流程图

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

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

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

课程链接

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

知识共享许可协议

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

欢迎转载、使用、重新发布,但务必保留文章署名 郑子铭 (包含链接: http://www.cnblogs.com/MingsonZheng/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。

如有任何疑问,请与我联系 (MingsonZheng@outlook.com) 。

posted @ 2020-05-12 00:34  郑子铭  阅读(356)  评论(1编辑  收藏  举报