OAuth is short for Open Authorization
授权流程
1.用户访问网站
2.网站请求第三方OAuth登录页:
网站请求第三方登录页面时使用带有特定参数的url例如:
https://graph.qq.com/oauth/?
&client_id=xxxxx
&redirect_uri=http://www.xxxx.com/…
client_id是在第三方网站登记后的一个client_id用来标识请求的站点
redirect_uri是请求成功后的回调地址,在跳转回调地址时会带一个code参数,code一般几秒钟就会过期
3.用户在OAuth登录页验证信息
4.OAuth登录页返回登录结果给网站:
redirect_uri是请求成功后的回调地址,在跳转回调地址时会带一个code参数
在返回登录结果后,因为code的安全性,需要网站的后台服务器请求一个>User Authorication URL(用户授权的令牌请求服务地址),例:
https://xxx.qq.com/oath/…?..
&client_id=xxxxxx
&client_secret=xxxxxxx
&code=xxxxxx&…
以此来验证请求服务器的合法性,需要网站在后台拼接url然后发起请求,提高安全性
然后才会一个用户授权的AccessTocken,然后可以通过AccessTocken和第三方获取数据
特殊参数
AccessTocken与RefreshToken 令牌授权
AccessTocken具有较长的生命周期(10天半个月甚至更长)
令牌过期后,可以重新请求获取,或者在请求参数中加入need_refresh_tocken=true