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展示到我们的页面上

    先来实现页面的显示




     

  • 相关阅读:
    [极客大挑战 2019]EasySQL
    BUUCTF-[强网杯 2019]随便注-wp
    BUUCTF-[HCTF 2018]WarmUp-wp
    wp-2017ssrfme
    < 算法笔记(晴神宝典)
    < python音频库:Windows下pydub安装配置、过程出现的问题及常用API >
    < JAVA
    < 博客园自定义皮肤装饰代码
    <编译原理
    < AlexNet
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/10970683.html
Copyright © 2011-2022 走看看