OAuth API 参考

UserMatrix OAuth 2.0 接口完整端点说明。

基础信息

  • API 基地址https://um.yunjii.cn/php
  • 协议:HTTPS(强制)
  • 数据格式:JSON
  • 签名方式:MD5(字典序 + appkey)
  • timestamp 有效期:5 分钟

端点列表

1. 生成登录跳转 URL

GET /connect.php?act=login

参数

参数必填说明
appid应用 ID
type登录类型:wx / alipay / qq / douyin / self
redirect_uri回调地址(需与 um_apps.url 匹配)
state防 CSRF,原样返回
timestamp当前时间戳(秒)
signMD5 签名

响应

{
  "code": 1,
  "msg": "success",
  "data": {
    "url": "https://open.weixin.qq.com/connect/qrconnect?appid=...&state=..."
  }
}

2. code 换取用户信息(回调)

GET /connect.php?act=callback

参数

参数必填说明
appid应用 ID
codeOAuth 回调 code(5 分钟有效)
timestamp时间戳
sign签名

响应

{
  "code": 1,
  "msg": "success",
  "data": {
    "openid": "oXabc123...",
    "nickname": "张三",
    "avatar": "https://thirdwx.qlogo.cn/...",
    "social_uid": "um_a1b2c3d4e5f6",
    "login_type": "wx",
    "token": "um_token_xxx..."
  }
}

code 5 分钟内只能消费一次,重复消费返回 40163。这是防重放机制。

3. social_uid 二次查询

GET /connect.php?act=query

参数

参数必填说明
appid应用 ID
type登录类型
social_uid用户的 UMID
timestamp时间戳
sign签名

响应:与 callback 一致(不含 token,需重新登录获取 token)。

4. SSO 状态检查

GET /connect.php?act=check_sso

检查当前用户在其他应用的 SSO 登录状态(基于 um_sso_token cookie 跨子域共享)。

参数

参数必填说明
appid应用 ID
timestamp时间戳
sign签名

响应

{
  "code": 1,
  "data": {
    "logged_in": true,
    "user": {
      "openid": "um_a1b2c3...",
      "nickname": "张三"
    },
    "sso_source": "sl.yunjii.cn" // 来源应用
  }
}

5. Token 验证

GET /check_token.php

参数

参数必填说明
token用户 token
appid应用 ID(用于 scope 校验)

响应

{
  "code": 1,
  "data": {
    "user_id": 12345,
    "openid": "um_a1b2c3...",
    "scope": "app",        // app / group / global
    "scope_type": "app",
    "device_id": "device_xxx",
    "login_ip": "1.2.3.4",
    "expire_at": "2026-07-13 12:00:00"
  }
}

限流规则

  • IP 限流:单 IP 60 次/分钟
  • 登录失败:单 IP 5 分钟内失败 10 次锁定 15 分钟
  • code 消费:单 code 只能消费一次
  • SaaS 套餐:按套餐月调用额度(5 万/无限)

HTTP 状态码

HTTP含义
200请求成功(业务 code 可能非 1)
400参数错误
401鉴权失败
403权限不足
404资源不存在
429限流
500服务器错误

完整错误码见 错误码参考