OAuth 聚合登录
完整的接入流程(当前可用)。云集生态官方统一标准见 OAuth 2.1 + OIDC。
本文描述的是当前可用的接入流程(对应 对接方式总览 中的「方式 ② REST 直连」)。云集生态的官方统一标准是 OAuth 2.1 + OIDC,标准端点正按契约 1 落地,迁移时业务代码几乎不变。
当前接入流程(REST 直连)
- 接入方应用调用
login(appid, type)生成跳转 URL - UserMatrix 返回跳转 URL
- 用户重定向到第三方平台
- 用户扫码/授权,第三方回调带
code - 接入方调用
callback(code)换取用户信息 - UM 内部 5 分钟防重缓存
端点
login - 生成跳转 URL
GET /connect.php?act=login
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| appid | string | 是 | 应用 ID |
| appkey | string | 是 | 应用密钥 |
| type | string | 是 | 平台类型:wx/alipay/qq/douyin |
| redirect_uri | string | 是 | 回调地址 |
| state | string | 是 | 防 CSRF,原样返回 |
| timestamp | string | 是 | Unix 时间戳,5 分钟有效 |
| sign | string | 是 | MD5 签名 |
callback - code 换取用户信息
GET /connect.php?act=callback
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| appid | string | 是 | 应用 ID |
| code | string | 是 | 授权 code |
| appkey | string | 是 | 应用密钥 |
响应:
{
"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 | 签名错误 |
| 301 | OAuth 错误 |
| 105 | timestamp 过期 |