zoukankan      html  css  js  c++  java
  • OAuth 2 的简单理解

    oauth 2 什么是 OAuth 2.0

         根据 oauth.net 的描述,我们可以将它简述为以下内容:OAuth 2.0 是 OAuth 1.0 框架协议的升级版本,简化了多种平台上身份及授权认证的流程。

         具体的文档可参考 RFC 6749 和 RFC 6750

    oauth 2 OAuth 2.0 的用途

        OAuth 2.0 的主要用途大概有以下几种:

    1. 账号接入:降低用户登录的成本、降低一定的账号风险
    2. 资源访问:以身份权限为手段保护资源处理的有效性、合法性和安全性

    oauth 2 OAuth 2.0 的一般流程

    1. 客户端(如 Web Service)因某些业务需要,以一定的方式向用户(即资源所有者) 请求授权
    2. 用户同意了授权请求,并给予客户端一定的“信物”(如授权码)
    3. 客户端用这个“信物”与授权服务器沟通,请求资源访问的权限
    4. 授权服务器验证该请求,发放资源访问令牌
    5. 客户端通过这个令牌,来试图向资源服务器访问某些资源
    6. 资源服务器验证令牌的有效性和权限范围,发放资源

    oauth 2 获得 OAuth 2.0 授权的模式(Grant Type)

        获得 OAuth 2.0 的授权的模式主要有四种:

    1. 授权码授权(Authorization Code Grant):一般比较多的应用于 Web Server 或其他可以内置调用浏览器的应用,一般通过浏览器的不断重定向来具体实现整个认证授权过程。绝大多数授权平台都支持该方式
    2. 隐式授权(Implicit Grant):一般多用于桌面应用、手机应用。较授权码授权而言,安全性稍有下降,身份令牌有被他人截取的危险。
    3. 密码凭证授权(Resource Owner Password Credentials Grant
    4. 客户端凭证授权(Client Credentials Grant

        当然,除了这四种主要的,还有一种 SAML Bearer 于今年 5月 通过 IETF RFC 7522 标准

    oauth 2 OAuth 2.0 访问令牌的种类(Token Type)

         目前而言, OAuth 2.0 的令牌类型主要有两种:

    1. 不记名式(Bearer Token):一般都要实现这种
    2. 消息认证式(Message Authentication Code Token

        不记名式令牌

         不记名式的访问令牌一般是指不用做什么,客户端获得的令牌什么样,传给资源服务器时就是什么样。

         访问资源时,通常有以下几种形式:

    • 将令牌放在 请求头 Authorization 中,并命名为 Bearer。即 Authorization: Bearer ****(注意空格)。
    • 以access_token=****形式放在 Query String 中,以 GET 方式访问
    • 将access_token=****放在请求体中,以 application/x-www-form-urlencoded 形式(通常是 POST) 访问

        消息认证式令牌

         消息认证式的访问令牌通常是以一定的加密算法对一些参数加密。加密过程通常是将 HmacSHA1 和 HmacSHA256 加密后的结果Base64化,再根据一定的规则填充到请求头 Authorization 中,并将其命名为 MAC。如 Authorization: MAC id="h480djs93hd8",nonce="274312:dj83hs9s",mac="kDZvddkndxvhGRXZhvuDjEWhGeE=",具体规则视平台的不同而不同

    oauth 2 更安全的 OAuth 2.0 

         虽然本身 OAuth 2.0 也是较为安全的,但难免会为了便利性,相对牺牲了部分安全性,有关 OAuth 2.0 的安全防护可参考 RFC 6819

    oauth 2 本文参考资料 

  • 相关阅读:
    个人冲刺二(7)
    个人冲刺二(6)
    个人冲刺二(5)
    个人冲刺二(4)
    对称二叉树 · symmetric binary tree
    108 Convert Sorted Array to Binary Search Tree数组变成高度平衡的二叉树
    530.Minimum Absolute Difference in BST 二叉搜索树中的最小差的绝对值
    pp 集成工程师 mism师兄问一问
    17. Merge Two Binary Trees 融合二叉树
    270. Closest Binary Search Tree Value 二叉搜索树中,距离目标值最近的节点
  • 原文地址:https://www.cnblogs.com/portal/p/4642865.html
Copyright © 2011-2022 走看看