oauth2学习

oauth2

  1. 生词:

    1. 授权码模式(authorization code)
    2. 简化模式(implicit)
    3. 密码模式(resource owner password credentials)
    4. 客户端模式(client credentials)
  2. 问题:

    1. 分享目标:大致了解oauth的运行流程,及如何使用oauth(代码实现)。
    2. oauth是什么?
      1. oauth是目前最流行的一套授权机制标准。
    3. oauth的应用场景?
      1. 假设一个例子:
        1. 有一个在线读取pdf的网站。极速PDF在线阅读
        2. 我们想要在线阅读百度云存储的pdf文档,那么就需要让极速pdf来读取百度云存储的pdf,那么极速pdf是怎样获取到用户的授权呢?
        3. 传统的做法是我们将百度云账号密码告诉极速pdf,这样后者就可以进行读取pdf文档了
        4. 这样的做法会有几个严重的缺点
          1. 极速pdf为了后续的在线阅读服务可能会保存我们的百度云账号密码
          2. 极速pdf会读取我们百度云所有资料。
          3. 只有我们修改密码后才能控制极速pdf的权利,于此同时我们用的其他第三方应用也都失效了
        5. 这时由国外的几位大佬共同发起的,为API访问授权提供一套标准:Oauth
  3. oauth2.0 运行流程

    1. 1347845-20190719202048972-1802348138.png

    2. A:第三方请求用户获取授权

      B:用户同意授权

      C:第三方带着用户授权向认证服务器获取token

      D:认证服务器校验用户授权后,返回token

      E:带着token请求资源服务器

      F:资源服务器校验token 后返回所需资源

  4. 授权码模式(authorization code)

    1. 1347845-20190719202113240-659375875.png

      1. 第三方服务跟用户索要授权
      2. 用户给予授权
      3. 浏览器拿着加密的用户信息和回调地址给认证服务器
      4. 认证服务器校验用户信息和回调地址后返回授权码。
      5. 第三方应用再根据授权码和回调地址请求认证服务器
      6. 认证服务器校验后返回token
  5. 简化模式(implicit grant type)

    1. 1347845-20190719202131585-1647352621.png

    2. 执行流程:
      1. 获取用户授权
      2. 将用户client信息和回调地址发送到认证服务器
      3. 认证服务器校验成功后返回重定向地址和token对象的哈希值
      4. 浏览器带着重定向地址向资源服务器发出请求
      5. 资源服务器返回一个页面,根据hash值获取token信息
  6. 密码模式(Resource Owner Password Credentials Grant)

    1. 1347845-20190719202141278-1540883842.png

    2. 执行流程
      1. 用户向客户端提供账号密码
      2. 客户端用账号密码请求认证服务器
      3. 认证服务器校验成功后返回token
  7. 客户端模式(Client Credentials Grant)

    1. 1347845-20190719202200326-443230770.png

    2. 第三方服务带上client信息向认证服务器请求获取token
    3. 认证服务器校验client信息后返回token

转载于:https://www.cnblogs.com/CHWLearningNotes/p/11215563.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值