
本文档详细说明了聚合登录系统的对接流程。请开发者严格按照以下步骤进行。
1. 核心流程图解
前端发起:调用接口 -> 获取跳转链接(或直接跳转) -> 用户授权。
前端回调:授权成功 -> 跳回
redirect_uri(携带code)。后端换取:服务端使用
code-> 调用 API -> 获取用户信息(含native原始数据)。
2. 接口详细说明
接口请求地址: https://www.phpks.com/api/social/connect
2.1 第一步:发起登录 (获取授权地址)
前端通过此接口引导用户进行第三方授权。
请求接口:
https://www.phpks.com/api/social/connect请求方式: GET
参数说明:
| 参数名 | 必填 | 默认值 | 说明 |
|---|---|---|---|
| act | 是 | - | 固定值:login |
| type | 是 | - | 登录方式(如 qq, wechat,详见附录) |
| redirect_uri | 是 | - | 登录成功后的回跳地址 例: https://www.phpks.com/ |
| format | 否 | jump | 返回格式jump:直接 302 跳转到第三方授权页(默认)json:返回包含授权链接的 JSON 数据(适合前后端分离) |
| state | 否 | - | 自定义校验参数 原样返回,建议传入随机字符串防止CSRF攻击 |
请求示例 (直接跳转模式):
https://www.phpks.com/api/social/connect?act=login&type=qq&redirect_uri=https://www.phpks.com/&state=random123
2.2 第二步:接收回调参数 (前端页面)
用户授权成功后,浏览器会跳转回你设置的 redirect_uri,并携带以下参数。
回跳地址示例:
https://www.phpks.com/?type=qq&code=LOGIN_CODE_XYZ&state=random123
code:关键参数,用于换取用户信息的临时凭证(有效期10分钟)。state:第一步传入的参数,原样返回。
2.3 第三步:换取用户信息 (后端请求)
拿到 code 后,请在服务端发起请求获取详细资料。
请求接口:
https://www.phpks.com/api/social/connect请求方式: GET / POST
参数说明:
| 参数名 | 必填 | 说明 |
|---|---|---|
| act | 是 | 固定值:callback |
| code | 是 | 第二步中获取到的 code 值 |
请求示例:
https://www.phpks.com/api/social/connect?act=callback&code=LOGIN_CODE_XYZ
返回数据 (JSON):
{
"code": 0,
"msg": "success",
"data": {
"social_uid": "E09613657F552A6F...", // 平台唯一ID (OpenID/UnionID)
"access_token": "F8D7ADD...", // 接口调用凭证
"nickname": "测试用户",
"gender": "男",
"faceimg": "http://thirdqq.qlogo.cn/...",
"type": "qq",
"name": "QQ",
"native": {
// 【重要】第三方平台返回的原始数据
// 此字段内容结构因平台(QQ/微信/抖音)而异,包含完整的官方返回信息
"ret": 0,
"nickname": "测试用户",
"gender": "男",
"province": "广东",
"city": "深圳",
"figureurl_qq_1": "http://..."
}
}
}附录:Type 参数对照表
QQ:qq | 微信:wechat | 抖音:douyin |
微博:sina | 支付宝:alipay | 百度:baidu |
Gitee:gitee | GitHub:github | 企业微信:wecom |