1. 我画了一个简单的图来了解一下OAUTH1.0请求的交互过程,附图如下:
    个人对OAUTH1.0简单理解_第1张图片
    简单解释一下: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)(请求临时的request_token)
    • SERVER生产request_token和request_secret存储并返回
    • WEB申请SERVER授权(API:/oauth/authorize)(请求用户授权的token)
    • SERVER重定向CLIENT去SERVER认证授权页面
    • CLIENT认证授权到SERVER
    • SERVER生成将oauth_verifier后将request_token和用户ID,应用ID,验证码oauth_verifier进行映射,并存储之后重定向到WEB
    • WEB通过前面获取的oauth_verifier以及secret,request_secret等来请求access_token(获得获取资源的token,oauth_verifier是1.0a版本修复1.0存在的会话固化×××的漏洞时加入的,详情请阅读OAuth的改变)
    • SERVER校验前面的参数,生成access_token和access_token_secret,然后将access_token,access_token_secret,用户ID,应用ID进行映射,并存在服务器数据库(长期有效)
    • WEB获得并存储access_token等,然后通过access_token等向SERVER请求用户openId或者其他的用户信息
    • WEB获得用户信息重定向用户去主页或者指定页面...
      具体参考链接:
      开放平台_OAuth1.0
      OAuth的改变(文章很好的描述从1.0到1.0a防止会话固化×××所做的改进)
      OAuth 1.0 协议学习
      对OAuth1.0协议的理解