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&......
    
  • 相关阅读:
    使用awrrpt.sql 生成AWR报告
    oracle简单物化视图
    oracle 查询重复内容
    windows server 2008 服务器 oracle11g降级oracle10g遇到的种种问题
    简单js条码生成器
    tomcat服务器禁用非post、get方法的坑
    委托和事件
    消息队列(Message Queue)简介及其使用
    架构师修炼之道
    Xcode7 使用NSurl发送HTTP请求报错
  • 原文地址:https://www.cnblogs.com/sanjun/p/10011397.html
Copyright © 2011-2022 走看看