zoukankan      html  css  js  c++  java
  • OAuth2 OpenID Connect概述

     在传统的Client-Server认证模型中,客户端请求访问服务器上受限的资源(Protected Resource),需要通过使用资源所有者(Resource Owner)的凭证在服务器上进行认证。为了支持第三方应用程序访问受限资源,资源所有者需要向第三方应用共享其凭证。这就会造成以下问题:

    1. 第三方应用为了后续使用,会存储资源所有者的凭证主要是密码。
    2. 服务端需要支持密码认证,尽管密码认证不安全。
    3. 第三方应用获得对资源的过度访问而不仅局限于受限资源,且资源所有者没有办法对其进行限制。
    4. 资源所有者无法收回权限,除非修改密码。
    5. 如果第三方应用的密码被破解,就会导致所有被该密码保护的数据被泄露。

    OAuth2简介:

    OAuth2是一个委托协议,它可以让那些掌控资源的人允许某个应用来访问他们掌控的资源,注意这时候是代表那些人而不是假冒或模仿那些人,这些应用从控制者得到授权(Authorization-你能干什么?)而不是身份认证(Authentication-你是谁?)和Access Token来访问这些资源。

    OAuth2 授权服务器:

    这里面主要包含四个角色:

    1. Client:需要授权的客户端。
    2. Resource Owner:资源所有者。
    3. Authorization Server:授权服务器。
    4. Resource Server:资源服务器,顾名思义,用来专门保存资源的服务器,接受通过访问令牌进行访问。

    授权类型:

     

     Scope范围:代表资源所有者在被保护资源的一些权限

    可由自己决定,如将读权限分配为ReadScope,写权限为WriteScope等。

    如在Access Token(用来访问被保护的资源):需描述出Scope的范围和持续时间等。

    Refresh Token:

    用来获取Access Token的凭证,也是Authorization Server 发给客户端的凭证。

    它在传递参数中是可选的,刷新获得的Access Token 权限可能会越来越小。

     OpenID Connect简介:

     为什么不使用Access Token来进行身份认证呢?

     

  • 相关阅读:
    2-7.交集选择器
    2-6.并集选择器
    2-5.后代选择器
    python----字符串,反向编码与乱码记录
    python----输出1-100之和的方法
    python----基础之三元运算、文件操作
    python----基础之令人头疼的字符编码
    python----基础之可变、不可变数据类型、collections模块
    python----基础之数据类型(元祖,字典,集合)
    python----基础之变量的创建与id
  • 原文地址:https://www.cnblogs.com/Xieyiincuit/p/13805007.html
Copyright © 2011-2022 走看看