OAuth 2.0 聚合登录

完整的 OAuth 2.0 流程,支持微信/支付宝/QQ/抖音/自有站统一接入。

OAuth 2.0 流程

  1. 接入方应用调用 login(appid, type) 生成跳转 URL
  2. UserMatrix 返回跳转 URL
  3. 用户重定向到第三方平台
  4. 用户扫码/授权,第三方回调带 code
  5. 接入方调用 callback(code) 换取用户信息
  6. UM 内部 5 分钟防重缓存

端点

login - 生成跳转 URL

GET /connect.php?act=login
参数类型必填说明
appidstring应用 ID
appkeystring应用密钥
typestring平台类型:wx/alipay/qq/douyin
redirect_uristring回调地址
statestring防 CSRF,原样返回
timestampstringUnix 时间戳,5 分钟有效
signstringMD5 签名

callback - code 换取用户信息

GET /connect.php?act=callback
参数类型必填说明
appidstring应用 ID
codestring授权 code
appkeystring应用密钥

响应:

{
  "code": 0,
  "msg": "success",
  "data": {
    "openid": "oX...",
    "nickname": "张三",
    "avatar": "https://...",
    "social_uid": "um_abc123"
  }
}

query - 二次查询

GET /connect.php?act=query&type=wx&social_uid=um_abc123

5 分钟 code 缓存

UM 独家防护:同一 code 在 5 分钟内只能成功消费一次,杜绝 40163 重复消费错误。

错误码

errcode含义
101缺少参数
102应用不存在
106签名错误
301OAuth 错误
105timestamp 过期

下一步