开发文档
文档目录
聚合登录介绍
聚合登录,就是利用用户在第三方平台上已有的账号来快速完成自己应用的登录流程。这里的第三方平台,是指 QQ、微信、微博、百度等平台。
通过本站的聚合登录接口,你的网站可以获取相应的用户信息和授权信息,例如 uid、token、用户昵称、头像等。本站的聚合登录完全符合 OAuth 2.0 身份鉴权机制。
接口地址:
https://log.knight.vin/connect.php
· 调用前请先在 用户控制台 创建应用,获取 APPID 与 APPKEY。
接口协议规则
| 传输方式 | HTTP / HTTPS |
|---|---|
| 请求方式 | GET |
| 数据格式 | JSON |
| 字符编码 | UTF-8 |
聚合登录流程
GET Step 1:获取跳转登录地址
请求 URL
https://log.knight.vin/connect.php?act=login&appid={你的appid}&appkey={你的appkey}&type={登录方式}&redirect_uri={返回地址}
登录方式 type 取值
| type 值 | 登录方式 |
|---|---|
qq | |
wx | |
alipay | |
douyin |
返回示例
{
"code": 0,
"msg": "succ",
"type": "qq",
"url": "https://graph.qq.com/oauth2.0/XXXXXXXXXX"
}
返回参数说明
| 参数名 | 类型 | 说明 | 示例 / 备注 |
|---|---|---|---|
code | int | 返回状态码 | 0 为成功,其它值为失败 |
msg | string | 返回信息 | 返回错误时的说明 |
type | string | 登录方式 | |
url | string | 登录跳转地址 | https://graph.qq.com/oauth2.0/XXX |
qrcode | string | 登录扫码地址 | 仅微信和支付宝返回 |
跳转 Step 2:跳转到登录地址
登录地址为上一步返回的 url 的值,直接跳转即可。
回调 Step 3:登录成功回调
登录成功后会自动跳转到指定的 redirect_uri,并带上 Authorization Code。例如回调地址是 www.qq.com/my.php,则会跳转到:
http://www.qq.com/my.php?type=qq&code=520DD95263C1CFEA0870FBB66E******
GET Step 4:通过 Code 获取用户信息
请求 URL
https://log.knight.vin/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=...",
"nickname": "大白",
"location": "XXXXX市",
"gender": "男",
"ip": "1.12.3.40"
}
查询用户信息
在用户登录后的任意时间,可以请求以下接口再次查询用户的详细信息。social_uid 就是用户的第三方登录 UID,是识别用户的唯一字段。
GET 请求 URL
https://log.knight.vin/connect.php?act=query&appid={appid}&appkey={appkey}&type={登录方式}&social_uid={social_uid}
返回示例
{
"code": 0,
"msg": "succ",
"type": "qq",
"social_uid": "AD3F5033279C8187CBCBB29235D5F827",
"access_token": "89DC9691E274D6B596FFCB8D43368234",
"nickname": "大白",
"faceimg": "https://thirdqq.qlogo.cn/g?...",
"location": "XXXXX市",
"gender": "男",
"ip": "1.12.3.40"
}
返回参数说明
| 参数名 | 类型 | 说明 | 示例 / 备注 |
|---|---|---|---|
code | int | 返回状态码 | 0 为成功,其它值为失败 |
social_uid | string | 第三方登录 UID | 唯一用户标识 |
access_token | string | 第三方登录 token | 可用于调用平台 API |
faceimg | string | 用户头像 | 头像 URL 地址 |
nickname | string | 用户昵称 | 用户在第三方平台的昵称 |
gender | string | 用户性别 | 男 / 女 / 未知 |
location | string | 用户所在地 | 仅支付宝 / 微信返回 |
ip | string | 用户登录 IP | 登录时的 IP 地址 |