zoukankan      html  css  js  c++  java
  • OAuth2.0协议

    什么是OAuth
    OAuth的应用场景
    工作原理
    • 三个重要步骤
    • 第三方登录
    • 获取Request Token
    • 获取Access Token
    • 后续API访问
    • Refresh Token刷新Access Token
    总结
    OAuth协议简介
    • OAuth is short for Open Authorization
    • OAuth协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的账号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此,OAUTH是安全的。
    协议版本
    • OAuth1.0版本发布于2007年,存在漏洞。
    • OAuth2.0版本发布于2010年,解决漏洞。
    OAuth应用场景
    • QQ用户授权慕课网使用其QQ账号相关的信息。
    • 获取授权后,在符合权限规则的情况下访问各种API。
    三个重要步骤解析

    步骤一 请求OAuth登录页
    • Request Token URL - 未授权的令牌请求服务地址
    • 慕课网请求QQ登录页面时使用的带有特定参数的URL
    https://graph.qq.com/oauth/.....?.....
    &client_id=100490398&.....
    &redirect_uri=http://www.mukewang.com/.....
    
    步骤二 用户使用QQ号登录并授权
    https://graph.qq.com/oauth/.....?.....
    &client_id=100490398&.....
    &redirect_uri=http://www.mukewang.com/.....
    
    http://www.mukewang.com/user/qqcallback?
    code=xxxxxxxxx....
    
    $_GET['code']
    
    步骤三 返回登录结果
    https://graph.qq.com/oauth/.....?.....
    &client_id=100490398&.....
    &redirect_secret=xxxxxxxxxx&.....
    &code=xxxxxxxxxx....
    
    • code是个有生命周期且只可使用一次的字符串
    AccessToken - 用户通过第三方应用访问OAuth接口的令牌
    • 通过慕课网把自己喜欢的课程分享到QQ空间
    AccessToken与RefreshToken
    • Token令牌

    • AccessToken-具有较长生命周期(10天半个月甚至更长)
    User Authorization URL中指定参数......&need_refresh_token=true&......
    
  • 相关阅读:
    Vue常用语法
    Vue--过滤器、指令、插件
    使用vue-cli创建项目
    electron Ctrl+滚轮事件 放大缩小
    axios 处理超时问题 记录
    electron 清除所有cookie记录
    electron用默认浏览器打开链接的3种实现方式
    electron 不支持Ctrl+滚动条放大缩小,自己动手做了一个react组件
    排序算法记录
    umi react 集成 spreadjs
  • 原文地址:https://www.cnblogs.com/sanjun/p/10011397.html
Copyright © 2011-2022 走看看