18.Consent 实现思路介绍
講一下實(shí)現(xiàn)Consent的邏輯
interaction它會(huì)根據(jù)returnUrl
輸入用戶名和密碼后是在登陸的Controller,登陸完之后呢,會(huì)有一個(gè)returnUrl
returnurl會(huì)被帶到Consent頁面
登陸后會(huì)跳轉(zhuǎn)到consent頁面,returnUrl也帶過來了
在Consent頁面,把這三個(gè)都添加進(jìn)來了。Client、resource、IdentityServerInieractinService
IdentityServerInieractinService主要是負(fù)責(zé)根據(jù)returnUrl拿到context。這里調(diào)用的方法GetAuthorizationContextAsync
F12進(jìn)去查看AuthorizationRequest包含的內(nèi)容
這個(gè)ScopeRequest就是,就是你這一次請求哪些Scope
比如說這個(gè)scope,你只請求api1
通過request的ClientId,然后通過ClientStore把這個(gè)client的信息拿出來
拿到的這個(gè)Client其實(shí)就是我們在Config配置的這些信息
Resource包含ApiResource和IdentityResource
每一條IdentityResource其實(shí)是一個(gè)scope
每一個(gè)ApiResource里面其實(shí)是多個(gè)Resource的
F12進(jìn)去看源代碼。
APIResource里面其實(shí)是有一個(gè)Scope的集合
Consent這個(gè)Controller主要是用來干嘛的呢?
通過我們的IdentityServerInterationService獲取當(dāng)前請求的上下文
這個(gè)上下文request里面有我們的ClientID,以及請求了哪些Scope,ScopesRequested。
scope里面只包含了名字
返回的是Resources,Resources再次F12再進(jìn)去。
它里面就包含了兩個(gè),一個(gè)IdentityResource一個(gè)是ApiResource
然后就可以根據(jù)resource拼成一個(gè)Model
拼成的Model展示到我們的頁面上
先來實(shí)現(xiàn)頁面的顯示
總結(jié)
以上是生活随笔為你收集整理的18.Consent 实现思路介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: H265 Profile & L
- 下一篇: 【网易官方】极客战记(codecomba