彩虹聚合登录

开发文档

聚合登录 API 说明、接入流程与 SDK 下载

聚合登录介绍

聚合登录,就是利用用户在第三方平台上已有的账号来快速完成自己应用的登录流程。这里的第三方平台,是指 QQ、微信、微博、百度等平台。通过本站的聚合登录接口,你的网站可以登录获取相应的用户信息和授权信息,例如 uid、token、用户昵称、头像等。本站的聚合登录完全符合 OAuth2.0 身份鉴权机制。

接口协议规则

传输方式:HTTP

数据格式:JSON

字符编码:UTF-8

聚合登录流程

Step1:获取跳转登录地址

请求 URL:

https://005.sg.13yun.cn/connect.php?act=login&appid={你的appid}&appkey={你的appkey}&type={登录方式}&redirect_uri={返回地址}

其中登录方式对应值:

对应值登录方式名称
qqQQ
wx微信
douyin抖音

返回格式:

{
  "code": 0,
  "msg": "succ",
  "type": "qq",
  "url": "https://graph.qq.com/oauth2.0/XXXXXXXXXX"
}

返回参数说明:

参数名参数类型参数说明参数示例
codeint返回状态码0 为成功,其它值为失败
msgstring返回信息返回错误时的说明
typestring登录方式qq
urlstring登录跳转地址https://graph.qq.com/oauth2.0/XXXXXXXXXX
qrcodestring登录扫码地址此地址仅微信和支付宝返回

Step2:跳转到登录地址

登录地址为上一步返回的 url 的值。

Step3:登录成功会自动跳转到指定的 redirect_uri,并跟上 Authorization Code

例如回调地址是:www.qq.com/my.php,则会跳转到:

http://www.qq.com/my.php?type=qq&code=520DD95263C1CFEA0870FBB66E******

Step4:通过 Authorization Code 获取用户信息

请求 URL:

https://005.sg.13yun.cn/connect.php?act=callback&appid={appid}&appkey={appkey}&type={登录方式}&code={code}

返回格式:

{
  "code": 0,
  "msg": "succ",
  "type": "qq",
  "access_token": "89DC9691E274D6B596FFCB8D43368234",
  "social_uid": "AD3F5033279C8187CBCBB29235D5F827",
  "faceimg": "https://thirdqq.qlogo.cn/g?b=oidb&k=3WrWp3peBxlW4MFxDgDJEQ&s=100&t=1596856919",
  "nickname": "大白",
  "location": "XXXXX市",
  "gender": "男",
  "ip": "1.12.3.40"
}

返回参数说明:

参数名参数类型参数说明参数示例
codeint返回状态码0 为成功,2 为未完成登录,其它值为失败
msgstring返回信息返回错误时的说明
typestring登录方式qq
social_uidstring第三方登录 UIDAD3F5033279C8187CBCBB29235D5F827
access_tokenstring第三方登录 token89DC9691E274D6B596FFCB8D43368234
faceimgstring用户头像https://thirdqq.qlogo.cn/g?......
nicknamestring用户昵称消失的彩虹海
genderstring用户性别
locationstring用户所在地XXXXX 市(仅限支付宝/微信返回)
ipstring用户登录 IP1.12.3.40

获取用户信息接口

在用户登录后的任意时间,可以请求以下接口再次查询用户的详细信息。

请求 URL:

https://005.sg.13yun.cn/connect.php?act=query&appid={appid}&appkey={appkey}&type={登录方式}&social_uid={social_uid}

social_uid 就是用户的第三方登录 UID,用于识别用户的唯一字段。

返回格式:

{
  "code": 0,
  "msg": "succ",
  "type": "qq",
  "social_uid": "AD3F5033279C8187CBCBB29235D5F827",
  "access_token": "89DC9691E274D6B596FFCB8D43368234",
  "nickname": "大白",
  "faceimg": "https://thirdqq.qlogo.cn/g?b=oidb&k=ianyRGEnPZlMV2aQvvzg2uA&s=100&t=1599703185",
  "location": "XXXXX市",
  "gender": "男",
  "ip": "1.12.3.40"
}

返回参数说明:

参数名参数类型参数说明参数示例
codeint返回状态码0 为成功,其它值为失败
msgstring返回信息返回错误时的说明
typestring登录方式qq
social_uidstring第三方登录 UIDAD3F5033279C8187CBCBB29235D5F827
access_tokenstring第三方登录 token89DC9691E274D6B596FFCB8D43368234
faceimgstring用户头像https://thirdqq.qlogo.cn/g?......
nicknamestring用户昵称消失的彩虹海
genderstring用户性别
locationstring用户所在地XXXXX 市(仅限支付宝/微信返回)
ipstring用户登录 IP1.12.3.40