OAuth2认证流程简洁说明

来源:互联网 发布:知乎精英 编辑:程序博客网 时间:2024/05/29 23:24

(转载)http://blog.csdn.net/iefreer/article/details/8474630

OAuth2认证协议涉及3方(应用、用户和服务方),加之流程较为繁琐,实现命名不尽相同,

容易忘记和混淆,简述认证流程如下(以新浪微博为例),以便于记忆:

1、向使用OAuth2认证的服务方申请应用,获取应用的consumer_key(应用唯一标识)和consumer_secret(应用私钥)

2、使用key/secret向服务方请求用户授权Token(code也就是authorization_code)

3、使用用户授权Token换取用户信息访问Token(access_token ),这一步weibo除了会返回access_token外,还返回了uid(授权用户的唯一标识)

4、使用access_token(用户信息访问令牌)获取微博帐号信息或发布微博

http://www.sinaimg.cn/blog/developer/wiki/oAuth2_01.gif

尽管有上面的描述和图片,还是不容易理解整个的过程为何如此繁琐,打个比喻如下或许有助于深入理解其背后的安全考量:

服务方是小区物业,用户是业主,应用是访客。

那么访客要来拜访业主,首先要得到业主授权,访客给小区物业出示业主授权的凭证,然后小区给访客发放临时通行证得以访问业主。

在回头想一想,这是不是很自然的做法。


iefreer


0 0