• 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来进行身份认证呢?

     

  • 相关阅读:
    PHP输出语法:echo、var_dump、print、print_r区别对比
    深浅拷贝
    deepin
    linux 扩容磁盘空间
    tcpdump抓包与tcp握手
    linux 搭建FTP
    ubuntu基本配置
    linux 安装kmv创建虚拟机后网络配置
    selenium + pyautogui 实现淘宝自动登录
    pycharm 加载不出来已安装的selenium包或者其他已安装的package
  • 原文地址:https://www.cnblogs.com/Xieyiincuit/p/13805007.html
Copyright © 2020-2023  润新知