18.Consent 实现思路介绍
講一下實現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 实现思路介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: H265 Profile & L
- 下一篇: SystemVerilog文本值和数据类