第一步:
https://api.weibo.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=http://a.com
接着重定向到http://a.com/so?code=YOUR_CODE
第二步:
access_token获取(注意方法是post,但form-data是空。否则就出现错误如下
{“error”:“invalid_request”,“error_code”:21323,“request”:"/oauth2/access_token",“error_uri”:"/oauth2/access_token",“error_description”:“miss client id or secret”}):
https://api.weibo.com/oauth2/access_token?client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=authorization_code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&code=CODE
其中CODE就是第一步得到的YOUR_CODE
返回
{
“access_token”: “abc”,
“remind_in”: “157679999”,
“expires_in”: 157679999,
“uid”: “123”,
“isRealName”: “true”
}
第三步:
参数来自于第二步的access_token和uid,获得用户信息实现第三方登录
https://api.weibo.com/2/users/show.json?access_token=abc&uid=123
其中 参数
Oauth支持的5类 grant_type 及说明
authorization_code 授权码模式(即先登录获取code,再获取token)
password 密码模式(将用户名,密码传过去,直接获取token)
client_credentials 客户端模式(无用户,用户向客户端注册,然后客户端以自己的名义向’服务端’获取资源)
implicit 简化模式(在redirect_uri 的Hash传递token; Auth客户端运行在浏览器中,如JS,Flash)
refresh_token 刷新access_token
***第三方登录:***https://www.cnblogs.com/panxuejun/p/6094711.html