讲一下实现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展示到我们的页面上
先来实现页面的显示
相关文章
- 02-19FW SAP MM 无价值物料管理的一种实现思路
- 02-19内排序:冒泡排序、简单选择排序、直接插入排序、希尔排序、堆排序、快速排序介绍及C语言实现
- 02-19推荐模型DeepCrossing: 原理介绍与TensorFlow2.0实现
- 02-19阿里大神手把手教你Android ButterKnife 的实现思路,建议收藏!
- 02-19用PyTorch实现线性回归介绍
- 02-19Leetcode 104. 二叉树的最大深度 解题思路及C++实现
- 02-19CSS3 的视口单位vw、vh实现自适应(带有px,em,rem的简单介绍)
- 02-19用urllib2实现一个下载器的思路
- 02-19EasyUI添加方法实现思路
- 02-19介绍一个能将任意关键字高亮实现的 Visual Studio Code 扩展