Oauth整理

Oauth1.0基本概念

OAUTH认证授权就三个步骤,三句话可以概括:
1. 获取未授权的Request Token
2. 获取用户授权的Request Token
3. 用授权的Request Token换取Access Token

oauth_signature_method支持三种方式:HMAC-SHA1、RSA-SHA1与PLAINTEXT等三种。一般都用HMAC-SHA1。

参考:http://developer.baidu.com/wiki/index.php?title=OAuth1.0|http://jamie-wang.iteye.com/blog/1182161|http://blog.csdn.net/turkeyzhou/article/details/7628399

注意:1)nonce是一个随机字符串,由客户端生成以允许服务器确认这个请求之前从未被访问过来,防止当请求是非加密通道发起时的重试攻击,nonce值必须保证在相同的timestamp,客户端证书,以及token的情况下,都是唯一的。2)建议用 SSL 或者 TLS 保证请求的安全。3)建议用 SSL 或者 TLS 保证确认服务提供者的身份。4)服务端密钥的安全存储。5)由于第三方应用的不可信任(可能希望获取更多的用户资源),需对授权的资源严格的分类,并告知明确用户可能存在的风险。

  • 使用基于http-header的OAuth
  • 使用ssl - 对于所有的OAuth认证的步骤都使用SSL加密
  • 始终使用显式oauth_callback - 一般来说应用程序使用默认的callback地址,但是我们建议每次请求都显式声明callback(在请求中指定callback). 通过动态设定callback,你可以获取一些有的附加的信息.如果是使用PIN码的话,callback应该是"oob".

为防止callback地址被篡改,在请求未授权request token时,就需要传递callback值参与运算。

Oauth2.0基本概念

http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html
http://article.yeeyan.org/view/50978/307535
http://www.cnblogs.com/yjf512/archive/2011/08/31/2161259.html


安全问题

http://drops.wooyun.org/papers/598
http://zone.wooyun.org/content/1562
http://zone.wooyun.org/content/1088

你可能感兴趣的:(Oauth整理)