zoukankan      html  css  js  c++  java
  • OAuth2.0的定义

    1. 什么是OAuth2.0
    * 用于REST/APIs的代理授权框架(delegated authorization)
    * 基于令牌Token的授权,在无需暴露用户密码的情况下,使应用能获取对用户数据的有限访问权限
    * 解耦认证和授权
    * 事实上的标准安全框架,支持多种用例场景
    * 服务器端WebApp
    * 浏览器单页SPA
    * 无线/原生App
    * 服务器对服务器之间
    2. OAuth 2.0 历史
    * 大致始于2007年
    * 2010-RFC5849定义了OAuth 1.0
    * 2010-IETF开始OAuth2.0制定工作
    * 干系人:Google,Microsoft,Facebook,Github,Twitter,Flickr,Dropbox
    * 2012年中-第一作者和编辑退出,并将其名字从所有规范中删除(戏剧性)
    * 2012年10月-RFC6749,RFC6750
    3. OAuth 2.0 优势
    * OAuth 2.0 比 OAuth 1.0 易于实现
    * 更安全,客户端不接触用户密码,服务器端更易于集中保护
    * 广泛传播并持续采用
    * 短寿命和封装token
    * 资源服务器和授权服务器解耦
    * 集中授权,简化客户端
    * HTTP/JSON友好,易于请求和传递token
    * 考虑多种客户端架构场景
    * 客户可以具有不同的信任级别
    4. OAuth 2.0 不足
    * 协议框架太宽泛,造成各种实现的兼容性和或操作性差
    * 和OAuth 1.0 不兼容
    * OAuth 2.0 不是一个认证协议,OAuth 2.0 本身并不能告诉你任何用户信息。
    5. OAuth 2.0 主要角色
    * 授权服务器(AS)
    * 资源拥有者
    * 使用令牌
    6. OAuth术语
    * 客户应用
    通常是一个Web或者无线应用,它需要访问用户的受保护资源
    * 资源服务器
    是一个web站点或者web service API,用户的受保护数据保存于此
    * 授权服务器
    在客户应用成功认证并获得授权之后,向客户应用颁发访问令牌AccessToken
    * 资源拥有者
    资源的拥有人,想要分享某些资源给第三方应用
    * 客户凭证
    客户的clientId 和 密码用于认证客户
    * 令牌
    授权服务器在接收到客户请求后,颁发的访问令牌
    * 作用域
    客户请求访问令牌时,由资源拥有者额外指定的细分权限(permission)
    7. OAuth令牌类型
    * 授权码
    用于授权码授权类型,用于交换获取访问令牌和刷新令牌
    * 刷新令牌
    用于去授权服务器获取一个新的访问令牌
    * Bearer Token
    不管谁拿到Token都可以访问资源,像现钞
    * 访问令牌
    用于代表一个用户或服务直接去访问受保护的资源
    * Proof of Possession (PoP) Token
    可以校验client是否对Token有明确的拥有权
    8. OAuth 2.0 的误解
    * OAuth并没有支持HTTP以外的协议
    * OAuth并不是一个认证协议
    * OAuth并没有定义授权处理机制
    * OAuth并没有定义Token格式
    * OAuth 2.0并没有定义加密方法
    * OAuth 2.0并不是单个协议
    * OAuth 2.0 仅是授权框架,仅用于授权代理
  • 相关阅读:
    获取请求IP
    Excel导入工具类兼容xls和xlsx
    Openshift 4.3环境的离线Operatorhub安装
    RHEL学习
    OpenShift Service Mesh 培训作业
    OpenId Connect认证配置
    Route Sharding in OpenShift 4.3
    OpenShift 4.3环境中创建基于Go的Operator
    Quay和Clair的集成
    Quay 基础版安装和部署
  • 原文地址:https://www.cnblogs.com/w3liu/p/13174378.html
Copyright © 2011-2022 走看看