个人对OAUTH1.0简单理解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了个人对OAUTH1.0简单理解相关的知识,希望对你有一定的参考价值。

  1. 我画了一个简单的图来了解一下OAUTH1.0请求的交互过程,附图如下:
    技术分享图片
    简单解释一下:OAuth1.0是基于http实现,为了交互的安全性设计上看起来会稍微复杂,OAuth1.0获得的access_token有效期时间比较长,有安全隐患。具体可以参考一下文章:第三方登录access token过期问题ACCESS_TOKEN与FRESH_TOKEN
  2. 解释一下应用场景是参与者:
    • 客户端:访问你应用网站的用户和浏览器
    • 服务端:你的应用功能服务器
    • 授权端:用户账户等资源所在的服务器
      用户想通过可信的授权端账户登录并且使用你的服务器功能,但是为了安全起见又不想直接通过授权服务器的账号密码去登录你的服务,此时就要用到OAuth授权认证服务来实现。
  3. OAuth1.0模拟过程:
    • WEB注册会获得appkey和secret
    • CLIENT请求WEB
    • WEB请求request_token(API:/oauth/request_token)
    • SERVER生产request_token和request_secret存储并返回
    • WEB申请SERVER授权(API:/oauth/authorize)
    • SERVER重定向CLIENT去SERVER认证授权页面
    • CLIENT认证授权到SERVER
    • SERVER生成将oauth_verifier后将request_token和用户ID,应用ID,验证码oauth_verifier进行映射,并存储之后重定向到WEB
    • WEB通过前面获取的oauth_verifier以及secret,request_secret等来请求access_token
    • SERVER校验前面的参数,生成access_token和access_token_secret,然后将access_token,access_token_secret,用户ID,应用ID进行映射,并存在服务器数据库(长期有效)
    • WEB获得并存储access_token等,然后通过access_token等向SERVER请求用户openId或者其他的用户信息
    • WEB获得用户信息重定向用户去主页或者指定页面...
      具体参考链接:开放平台_OAuth1.0

以上是关于个人对OAUTH1.0简单理解的主要内容,如果未能解决你的问题,请参考以下文章

个人对Java中多态的一些简单理解

个人对粗糙集的一些理解和简单举例

简单理解插入排序

个人对vuex的表象理解(笔记)

个人对反射应用的理解

对pathtracing的一些个人理解