首页 > 其他 > 详细

18.Consent 实现思路介绍

时间:2019-06-03 23:12:24      阅读:134      评论:0      收藏:0      [点我收藏+]


讲一下实现Consent的逻辑
interaction它会根据returnUrl
输入用户名和密码后是在登陆的Controller,登陆完之后呢,会有一个returnUrl
技术分享图片
returnurl会被带到Consent页面
技术分享图片

技术分享图片
登陆后会跳转到consent页面,returnUrl也带过来了

技术分享图片
在Consent页面,把这三个都添加进来了。Client、resource、IdentityServerInieractinService

技术分享图片
IdentityServerInieractinService主要是负责根据returnUrl拿到context。这里调用的方法GetAuthorizationContextAsync
技术分享图片
F12进去查看AuthorizationRequest包含的内容
技术分享图片

这个ScopeRequest就是,就是你这一次请求哪些Scope
技术分享图片
比如说这个scope,你只请求api1
技术分享图片
通过request的ClientId,然后通过ClientStore把这个client的信息拿出来
技术分享图片
拿到的这个Client其实就是我们在Config配置的这些信息
技术分享图片
Resource包含ApiResource和IdentityResource

技术分享图片
每一条IdentityResource其实是一个scope
技术分享图片

技术分享图片
每一个ApiResource里面其实是多个Resource的
F12进去看源代码。
技术分享图片
APIResource里面其实是有一个Scope的集合
技术分享图片
Consent这个Controller主要是用来干嘛的呢?
通过我们的IdentityServerInterationService获取当前请求的上下文
技术分享图片
这个上下文request里面有我们的ClientID,以及请求了哪些Scope,ScopesRequested。
scope里面只包含了名字
技术分享图片

技术分享图片
技术分享图片
返回的是Resources,Resources再次F12再进去。
技术分享图片
它里面就包含了两个,一个IdentityResource一个是ApiResource
技术分享图片
然后就可以根据resource拼成一个Model
技术分享图片
拼成的Model展示到我们的页面上
技术分享图片
先来实现页面的显示




 

18.Consent 实现思路介绍

原文:https://www.cnblogs.com/wangjunwei/p/10970683.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!