开发文档

聚合登录介绍

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

接口协议规则

传输方式:HTTP

数据格式:JSON

字符编码:UTF-8

聚合登录流程
Step1:获取跳转登录地址
请求URL:
https://vmq.scydao.com/connect.php?act=login&appid={你的appid}&appkey={你的appkey}&type={登录方式}&redirect_uri={返回地址}&qrcode_image=1
参数说明(qrcode_image为可选参数):
参数名 是否必填 参数说明 参数示例
appid 应用ID 1001
appkey 应用密钥 3f17e9c0********
type 登录方式,不传默认qq wx
redirect_uri 登录完成后的回调地址 https://www.example.com/callback.php
state 业务透传参数,回调时原样返回 order_123456
qrcode_image 传1时额外返回二维码图片地址(仅微信/支付宝有效) 1
其中登录方式对应值:
对应值 登录方式名称
wx 微信
返回格式:
{
  "code": 0,
  "msg": "succ",
  "type": "qq",
  "url": "https://graph.qq.com/oauth2.0/XXXXXXXXXX"
}
扫码登录返回示例(微信/支付宝):
{
  "code": 0,
  "msg": "succ",
  "type": "wx",
  "url": "https://open.weixin.qq.com/connect/qrconnect?appid=XXXXXX",
  "qrcode": "https://open.weixin.qq.com/connect/qrconnect?appid=XXXXXX&client=1",
  "qrcode_img": "https://api.qrserver.com/v1/create-qr-code/?size=300x300&margin=0&data=..."
}
返回参数说明:
参数名 参数类型 参数说明 参数示例
code int 返回状态码 0为成功,其它值为失败
msg string 返回信息 返回错误时的说明
type string 登录方式 qq
url string 登录跳转地址 https://graph.qq.com/oauth2.0/XXXXXXXXXX
qrcode string 登录扫码地址 此地址仅微信和支付宝返回
qrcode_img string 二维码图片地址 当请求带qrcode_image=1时返回,仅微信和支付宝返回

Step2:跳转到登录地址
登录地址为上一步返回的url的值。

Step3(可选):二维码扫描状态检测
请求URL:
https://vmq.scydao.com/connect.php?act=check&appid={你的appid}&appkey={你的appkey}&state={state}
请求参数说明:
参数名 是否必填 参数说明 参数示例
appid 应用ID 1001
appkey 应用密钥 3f17e9c0********
state Step1 返回的 qrcodeurl 中的 state 参数值 8f0c7f0e********
建议每2秒轮询一次。
返回格式示例(等待扫码):
{
  "code": 1
}
返回格式示例(扫码完成):
{
  "code": 0,
  "msg": "登录成功",
  "type": "wx",
  "auth_code": "520DD95263C1CFEA0870FBB66E******",
  "state": "order_123456",
  "redirect_uri": "https://www.example.com/callback.php"
}
拿到参数后,可由业务端自行拼接跳转地址:{redirect_uri}?type={type}&code={auth_code}&state={state}(若已有query参数请使用&拼接)。
返回参数说明:
参数名 参数类型 参数说明 参数示例
code int 返回状态码 0=扫码完成,1=等待扫码,-1=失败
errcode int 错误码 101=参数校验失败,102=记录不存在或登录超时
msg string 返回信息 登录成功
type string 登录方式 wx
auth_code string 授权码(用于后续回调换取用户信息) 520DD95263C1CFEA0870FBB66E******
state string Step1 传入的透传参数 order_123456
redirect_uri string 应用回调地址 https://www.example.com/callback.php

Step4:登录成功后跳转到指定的redirect_uri,并带上Authorization Code
说明:使用内置网页扫码页时会自动跳转;使用 Step3 接口时请按上一步返回参数自行拼接并跳转。
例如回调地址是:www.qq.com/my.php,则会跳转到:
http://www.qq.com/my.php?type=qq&code=520DD95263C1CFEA0870FBB66E******

Step5:通过Authorization Code获取用户信息
请求URL: https://vmq.scydao.com/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"
}
返回参数说明:
参数名 参数类型 参数说明 参数示例
code int 返回状态码 0为成功,2为未完成登录,其它值为失败
msg string 返回信息 返回错误时的说明
type string 登录方式 qq
social_uid string 第三方登录UID AD3F5033279C8187CBCBB29235D5F827
access_token string 第三方登录token 89DC9691E274D6B596FFCB8D43368234
faceimg string 用户头像 https://thirdqq.qlogo.cn/g?......
nickname string 用户昵称 消失的彩虹海
gender string 用户性别
location string 用户所在地 XXXXX市(仅限支付宝/微信返回)
ip string 用户登录IP 1.12.3.40
获取用户信息接口
在用户登录后的任意时间,可以请求以下接口再次查询用户的详细信息。

请求URL: https://vmq.scydao.com/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"
}
返回参数说明:
参数名 参数类型 参数说明 参数示例
code int 返回状态码 0为成功,其它值为失败
msg string 返回信息 返回错误时的说明
type string 登录方式 qq
social_uid string 第三方登录UID AD3F5033279C8187CBCBB29235D5F827
access_token string 第三方登录token 89DC9691E274D6B596FFCB8D43368234
faceimg string 用户头像 https://thirdqq.qlogo.cn/g?......
nickname string 用户昵称 消失的彩虹海
gender string 用户性别
location string 用户所在地 XXXXX市(仅限支付宝/微信返回)
ip string 用户登录IP 1.12.3.40
SDK下载

SDK版本:1.0

点击下载