聚合登录系统API接入文档

image.png

本文档详细说明了聚合登录系统的对接流程。请开发者严格按照以下步骤进行。

1. 核心流程图解

  1. 前端发起:调用接口 -> 获取跳转链接(或直接跳转) -> 用户授权。

  2. 前端回调:授权成功 -> 跳回 redirect_uri(携带 code)。

  3. 后端换取:服务端使用 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/
formatjump返回格式
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:giteeGitHub:github企业微信:wecom
分享这篇文章