• 一步一步学习IdentityServer3 (12) 授权模式


    Idr3中的授权模式也是基于OAuth2

    来看看例子中的说明

       //
        // 摘要:
        //     OpenID Connect flows.
        public enum Flows
        {
            //
            // 摘要:
            //     authorization code flow
            AuthorizationCode = 0,
            //
            // 摘要:
            //     implicit flow
            Implicit = 1,
            //
            // 摘要:
            //     hybrid flow
            Hybrid = 2,
            //
            // 摘要:
            //     client credentials flow
            ClientCredentials = 3,
            //
            // 摘要:
            //     resource owner password credential flow
            ResourceOwner = 4,
            //
            // 摘要:
            //     custom grant
            Custom = 5,
            //
            // 摘要:
            //     authorization code with proof key flow
            AuthorizationCodeWithProofKey = 6,
            //
            // 摘要:
            //     hybrid flow with proof key
            HybridWithProofKey = 7
        }

    代码中的Flows枚举中有这个几个,后几个也没用过不多说

    授权许可是代表资源的凭证,所有者的授权(访问受保护的资源)所使用的客户端获取访问令牌,这个规范定义了四个授权模式类型   【授权码】【隐式】【密码模式】【客户端模式】 Idr3中其他的模式均为扩展性定义附加类型的机制

    【授权码】:授权码是通过授权服务器获得的作为客户端很资源所有者之间的中间凭证,是直接请求授权服务器拿到授权码,从而跨过了 先从资源所有者指向的授权服务器或者客户端所指向的授权服务器,从而通过授权码反向提供给客户端,这样增加了客户端的验证授权码的验证处理相对提高安全性,所以在请求资源权限重定向到客户端之前通过授权码、授权服务器验证资源所有者获取授权

    【隐式】:这个模式简化了授权码的流程,对于使用脚本语言Javascript在浏览器中实现客户端,在这个模式中由客户端直接颁发访问令牌而不是发布不客户端授权码,与授权码模式不一样,隐式模式中授权服务器不需要不需要验证客户端,由于这个步骤少了验证客户端步骤,所以在效率、速度上快,但要注意这方面的安全影响

    【密码模式】:资源所有者凭借 用户名 密码 直接获取资源授权服务器的访问令牌权限,这个模式可以消除客户端存储需要的资源凭证来使用,通过交换具有长期访问的令牌或刷新令牌的凭证

    【客户端模式】:针对请求受保护的资源(事先安排好的授权资源服务器)针对客户端可能为一个安排好的整体权限,不需要特定用户资源所有者

  • 相关阅读:
    二叉查找树
    Rust更换Crates源
    Raft共识算法
    Session
    可以编写代码的代码:代码生成的利与弊
    引用和自包含令牌(Reference Tokens and Introspection)
    认证授权-学习笔记1-OAuth 2.0
    spring security原理-学习笔记2-核心组件
    spring security原理-学习笔记1-整体概览
    零拷贝Zero copy-linux and java
  • 原文地址:https://www.cnblogs.com/liyouming/p/7844265.html
Copyright © 2020-2023  润新知