简体中文
简体中文
English
联系我们
注册
登录

用户管理

更新时间:2022-06-16 08:45:51下载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_IOS("wx.mina.ios", "微信小程序 iOS 调用")WX_MINA_ANDROID("wx.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 参数非法