现在的互联网流量入口基本上被几大巨头(BAT、TMD)所把持,对于新上线的应用获取用户比较快捷的方式就是通过OAuth2协议接入它们的账号系统。降低用户注册&登录成本,是大部分新上线应用的选择。比如前段时间吵得沸沸扬扬的抖音滥用腾讯系(微信、QQ)用户信息(头像、昵称)事件,就是因为抖音上线时通过OAuth2接入了腾讯系的账号体系,后面未经腾讯同意就将用户信息给多闪使用。
本文将介绍OAuth2的四种授权模式,重点介绍授权码模式。
下面以用户在第三方应用访问自己的照片列表为例,分别介绍四种授权模式
授权码(authorization-code)
特点
- 安全性高。是OAuth2四种模式中,安全性最高的一种
- 使用率高。据亚马逊统计,互联网上绝大部分应用都使用的是授权码模式,如Facebook、GitHub、微信等
- 流程复杂。是四种模式中最复杂的一种
流程图
详细的授权流程说明
假设
- 第三方应用域名为
https://a.com
- 授权服务器域名为
https://b.com
那么授权流程为:
-
浏览器访问授权服务器请求授权
https://b.com/oauth/au