zoukankan      html  css  js  c++  java
  • 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展示到我们的页面上

    先来实现页面的显示




     

  • 相关阅读:
    算法之我见
    meobius与DBTwin实现原理
    MongoDB应用学习
    重要通知
    lucenc代码阅读指南、测试范例
    什么是IoC以及理解为什么要使用Ioc
    策略模式实现支持多种类数据库的DBHelp
    为什么使用TFS 2012进行源代码管理——TFS 2012使用简介(一)
    我们到底能走多远系列
    Eclipse+Tomcat+MySQL+MyEclipse
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/10970683.html
Copyright © 2011-2022 走看看