第三方登录.md
1.45 KB
当用户点击登陆界面的第三方登陆按钮时,客户端将向授权方申请授权,当取得授权后尝试登陆本服务器,服务器将返回该授权是否初始化过,如果没有初始化过则会通知客户端需要绑定初始化信息,此时客户端需要向授权方申请获取个人信息,并将拿到的数据汇报给服务器。完成初次的第三方登陆。
以后的第三方登陆由于服务器端已经拥有了用户的这些信息,则不再需要客户端查看其个人信息。
第三方登录成功后需要上传第三方信息给服务器
在/after_bind接口提交时增加参数payload。payload的格式为json,其中包括从授权服务器获得的所有key-value内容。
{access_token:"access_token",refresh_token:"refresh_token",expires_in:"expires_in",refresh_token_expires:"refresh_token_expires"}
payload=base64(json)
参数为:
key | Android微信 | AndroidQQ | 是否必须 |
---|---|---|---|
access_token | ⭕️ | ⭕️ | 必须 |
refresh_token | ⭕️ | ❌ | 必须 |
openid | ⭕️ | ⭕️ | |
expires_in | ⭕️ | ⭕️ | 必须 |
refresh_token_expires | ⭕️ | ❌ | 必须 |
appid | ❌ | ⭕️ | |
uid | ⭕️ | ⭕️ | |
unionid | ⭕️ | ❌ | |
pay_token | ❌ | ⭕️ | |
pf | ❌ | ⭕️ | |
pfkey | ❌ | ⭕️ | |
ret | ❌ | ⭕️ | |
sendinstall | ❌ | ⭕️ | |
page_type | ❌ | ⭕️ | |
auth_time | ❌ | ⭕️ | |
scope | ⭕️ | ❌ |