用户管理

更新时间:2024-06-05 03:15:11下载pdf

API 列表

action 描述
user.wx-applet.synchronization 登录获取用户 ID 和登录凭证
user.token 登录前置生成随机 Token
user.password.login 账号密码登录
user.refreshToken 刷新授权 Token
system.userTicket 获取用户票据
user.infos 查询用户信息
user.ticketToken 临时票据换取授权 Token
user.appInfo 获取第三方应用信息
  • 方式一:如需实现微信账号登录,请调用 user.wx-applet.synchronization 登录。
  • 方式二:如需实现 App 注册的账号在微信小程序上登录,请执行如下步骤:
    1. 调用 user.token
    2. 调用 user.password.login,完成用户登录。

以上两种登录方式均支持用户数据隔离。

登录获取用户 ID 和登录凭证

接口描述

用户 ID、access_token 可以获取一次,经缓存后,供下次使用。

access_token 用作登录凭证。在所有的接口(除登录相关接口)访问时,都需要携带此登录凭证。

该接口已于 2021 年 4 月 27 日进行升级。在升级前,该接口仅返回 uid,其余接口不会对 access_token 进行鉴权校验。升级后,该接口将会返回 access_token

请求地址

action: user.wx-applet.synchronization

params 请求参数

参数名称 类型 是否必填 说明
open_id String 填入 cloud 即可
app_schema String 填入 cloud 即可
nick_name String 微信昵称,调用 wx.getUserInfo() 获取
avatar String 微信头像,调用 wx.getUserInfo() 获取

请求示例

{
    action: "user.wx-applet.synchronization",
    params: {
        open_id: "cloud",
        app_schema: "cloud",
        nick_name: "微信昵称",
        avatar: "https://wechat-avatar.cn/YAIOgq83epRy7ZNvLmMUHib16hEaLgrGSxNE1BBMm",
    },
}

响应参数

参数名 类型 说明
code Integer 响应码
success Boolean 是否成功
  • true:成功
  • false:失败
msg String 请求失败的信息,成功为空
result Object 返回结果

result 说明

参数名 类型 说明
uid String 涂鸦用户 ID
access_token String 登录 Token
refresh_token String 刷新 Token
expire_time String 过期时间

响应示例

{
    "result": {
        "access_token": "344c7bdeb1c23b9eccc5 ****** 1edc2b",
        "refresh_token": "3783df62d6bb1fdbbb9 ****** 09f4cb4",
        "uid": "ay1582981255622T **** ",
                "expire_time":"7200"
    },
    "success": true,
    "t": 1582870559516
}

错误码

下表列举该接口常见的业务异常。更多异常错误,请参考《全局错误码》。

错误码 说明
500 系统错误
1106 权限非法
1109 参数非法

登录前置生成随机 Token

接口描述

作为手机号码登录小程序的调用第一步,App 注册的账号在小程序上登录,调用登录 API 前获取 Token。

请求地址

action:user.token

params 请求参数

参数名 类型 说明 是否必传
country_code String 国家或地区码,例如 86 表示中国大陆
username String 用户名
schema String 开发者 App 标识,设置为 cloud

请求示例

{
      "action": "user.token",
      "params": {
            "schema":"cloud",
            "country_code": "86",
            "username": "1599970 **** "
          }
}

响应参数

参数名 类型 说明
code Integer 错误响应码,成功时为空
success Boolean 是否成功
  • true:成功
  • false:失败
t Long 响应时间
msg String 请求失败的信息,成功为空
result Object LoginTokenVO

result 说明

参数名 类型 说明
pb_key String iOS 端 PEM 公钥
public_key String Android 端公钥
exponent String 指数
token String CSRF token:用于涉及密码参数传递场景

响应示例

{
  "result": {
    "pb_key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQ **** ",
    "public_key": "175714207292708328630951065108978120012894817439185629602411033186604670619890657753414788162628813373490070 **** ",
    "exponent": "6 **** ",
    "token":"aab1f55c71a95939d55ef01a9f84 **** ",
  },
  "success": true,
  "t": 1648176765020
}

账号密码登录

接口详情

作为手机号码登录的第二步,App 注册账号在小程序上登录。

请求地址

action:user.password.login

请求参数

参数名 类型 说明 是否必传
country_code String 国家或地区码
schema String 开发者 App 标识
username String 用户名
passwd String
  • 对明文进行 MD5 加密
  • user.token 返回的字段 pb_key 作为公钥(不区分 iOS 或 Android)进行 RSA 加密
  • 将得到的加密数据转为 16 进制字符串
token String CSRF Token
if_encrypt Integer 是否加强版:
  • 1:加强版(ENCRYPT)
  • 0:非加强版(NOT_ENCRYPT)
terminal_id String 十六进制时间戳 +6 位随机数
os String 操作系统:
  • wx.mina.iosWX_MINA_IOS 系统,微信小程序 iOS 调用
  • wx.mina.androidWX_MINA_ANDROID 系统,微信小程序 Android 调用
  • 请求示例

    {
      "action": "user.password.login",
      "params": {
        "country_code": "86",
        "username": "1599970 **** ",
        "passwd": "669a191672c625d3f8b30355c8660be3 **** ",
        "token": "aab1f55c71a95939d55ef01a9f84 **** ",
        "if_encrypt": 1,
        "terminal_id": "17fc003ef1b086018",
        "os": "wx.mina.ios"
      }
    }
    

    返回参数

    参数名 类型 说明
    code Integer 错误响应码,成功时为空
    success Boolean 是否成功
    • true:成功
    • false:失败
    t Long 响应时间
    msg String 请求失败的信息,成功为空
    result Object 用户 Session

    result 说明

    参数名 类型 说明
    uid String 用户 ID
    access_token String 接口凭证

    响应示例

    {
      "result": {
        "access_token": "3ca2d0446b74 ****** c0f2289c3b3516",
        "refresh_token": "c9b55e23f6275c2 ****** affe5efeb94989c",
        "uid": "ay1626509014612p **** ",
        "expire_time":"2695",
      },
      "success": true,
      "t": 1648176765658
    }
    

    刷新授权 Token

    access_token 的失效后,携带 access_token 访问的接口鉴权会报以下错误。

    {
      "code": 1010,
      "msg": "令牌过期",
      "success": false,
      "t": 1618216767536
    }
    

    此时您需要使用 refresh_token 调用刷新接口,换取新的 access_tokenrefresh_token

    该接口于 2021 年 04 月 27 日 后开放使用。

    请求地址

    action: user.refreshToken;
    

    params 请求参数

    参数名称 类型 是否必填 说明
    refresh_token String 刷新 Token

    请求示例

    {
        action: "user.refreshToken",
        params: {
            refresh_token: "3783df62d6bb1fdbbb9 ****** 09f4cb4",
    
        },
    }
    

    响应参数

    参数名 类型 说明
    code Integer 响应码
    success Boolean 是否成功
    • true:成功
    • false:失败
    msg String 请求失败的信息,成功为空
    result Object 返回结果

    result 说明

    参数名 类型 说明
    uid String 涂鸦用户 ID
    access_token String 登录 Token
    refresh_token String 刷新 Token
    expire_time String 过期时间

    响应示例

    {
      "result": {
        "access_token": "00222a5afbdcd9bccd ****** a1adb240",
        "refresh_token": "be02a06a259af6bec ****** 56814a737",
        "uid": "ay1582981255622T **** ",
        "expire_time":"7200",
      },
      "success": true,
      "t": 1618216767736
    }
    

    获取用户票据

    接口描述

    每次进入插件前调用,获取最新的票据信息。

    请求地址

    action: system.userTicket
    

    params 请求参数

    参数名称 类型 是否必填 说明
    uid String 用户 ID

    请求示例

    {
        access_token: "344c7bdeb1c23b9eccc5 ****** 1edc2b",
        action: "system.userTicket",
        params: {
            uid: "xxxxxx",
        },
    }
    

    响应参数

    参数名 类型 说明
    code Integer 响应码
    success Boolean 是否成功
    • true:成功
    • false:失败
    msg String 请求失败的信息,成功为空
    result Object 返回结果

    result 说明

    参数名 类型 说明
    expire_time Number 过期时间
    ticket String 票据

    响应示例

    {
        "result": {
            expire_time: 300
            ticket: "ST-xxx"
        },
        "success": true,
        "t": 1582870559516
    }
    

    错误码

    下表列举该接口常见的业务异常。更多的异常错误,请参考《全局错误码》。

    错误码 说明
    500 系统错误
    1106 权限非法
    1109 参数非法

    查询用户信息

    接口描述

    查询指定涂鸦用户的详细信息。

    请求地址

    action: user.infos
    

    params 请求参数

    参数名 类型 说明 是否必填
    uid String 涂鸦用户名

    请求示例

    {
        "access_token": "344c7bdeb1c23b9eccc5 ****** 1edc2b",
        "action": "user.infos",
        "params": {
            "uid": "ay1582981255622TXro6"
        }
    }
    

    响应参数

    参数名 类型 说明
    code Integer 响应码
    success Boolean 是否成功
    • true:成功
    • false:失败
    msg String 请求失败的信息,成功为空
    result Object 返回结果

    result 说明

    参数名 类型 说明
    uid String 涂鸦用户 ID

    响应示例

    {
        "result": {
        "avatar": "https://wx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTLZrASXPcUvQm3Tmia6ScRhxqoXo5NEmiac0xibFjuz4ib4bYLDibIwffp4zG6QYiclImib5jSqubTS77JEg/132",
        "create_time": 1582981255,
        "nick_name": "昵称",
        "uid": "ay1582981255622TXro6",
        "update_time": 1582981255,
        "username": "wxa-o1Obc4oAhh_jsGGauRBs63hHpjPQYZJ"
        },
        "success": true,
        "t": 1583136691792
    }
    

    错误码

    下表列举该接口常见的业务异常。更多异常错误,请参考《全局错误码》。

    错误码 说明
    500 系统错误
    1106 权限非法
    1109 参数非法

    临时票据换取授权 Token

    接口描述

    使用临时获取的票据(ticket),换取云开发授权的 Token 令牌。

    请求地址

    action: user.ticketToken
    

    params 请求参数

    参数名 类型 说明 是否必填
    ticket String 用户临时授权票据
    access_id String 云开发授权 access_id

    响应参数

    参数名 类型 说明
    code Integer 响应码
    success Boolean 是否成功
    • true:成功
    • false:失败
    msg String 请求失败的信息,成功为空
    result Object 返回结果

    result 说明

    参数名 类型 说明
    uid String 涂鸦用户 ID
    access_token String 授权访问 Token
    refresh_token String 授权刷新 Token
    expire_time Integer 有效时间,单位为秒

    请求示例

    {
        "access_token": "344c7bdeb1c23b9eccc5 ****** 1edc2b",
        "action": "user.ticketToken",
        "params": {
            "ticket": "ST-f1d5107ebf677cb4e1a8924b5ffd94f4idjh7L9G0vv9V9zbnfWL",
        "access_id": "xxxxxxx"
        }
    }
    

    响应示例

    {
        "result": {
        "access_token": "0aa222f672e286ab076c85e6300d05d4",
        "refresh_token": "1048sads8f934f234dwidur3483dsaa3",
        "expire_time": 7200,
        "uid": "ay1582796080015nkQTp"
        },
        "success": true,
        "t": 1582870559516
    }
    

    错误码

    下表列举该接口常见的业务异常。更多异常错误,请参考《全局错误码》。

    错误码 说明
    500 系统错误
    1106 权限非法
    1109 参数非法

    获取第三方应用信息

    接口描述

    根据传入指定的 schema 和系统类型,获取相应第三方应用的应用名称、应用 Logo、描述等信息。

    请求地址

    action: user.appInfo
    

    params 请求参数

    参数名 类型 说明 是否必填
    ticket String 用户临时授权票据
    access_id String 云开发授权 access_id

    响应参数

    参数名 类型 说明
    code Integer 响应码
    success Boolean 是否成功
    • true:成功
    • false:失败
    msg String 请求失败的信息,成功为空
    result Object 返回结果

    result 说明

    参数名 类型 说明
    app_name String 应用名称
    app_logo String 应用 Logo 地址
    app_description String 应用描述

    请求示例

    {
        "access_token": "344c7bdeb1c23b9eccc5 ****** 1edc2b",
        "action": "user.appInfo"
    }
    

    响应示例

    {
        "result": {
        "app_name": "微信小程序",
        "app_logo": "https://sso.tuya.com/xxxxx.png",
        "app_description": ""
        },
        "success": true,
        "t": 1582870559516
    }
    

    错误码

    下表列举该接口常见的业务异常。更多异常错误,请参考《全局错误码》。

    错误码 说明
    500 系统错误
    1106 权限非法
    1109 参数非法