登录鉴权
#
getUserInfo#
1. 接口描述接口功能:获取用户信息
接口声明:getUserInfo(): Object
注意
此接口将会在下个主版本废弃,推荐使用 Auth.getEndUserInfo()
#
2. 输入参数无
#
3. 返回结果字段 | 类型 | 必填 | 说明 |
---|---|---|---|
openId | string | 是 | 微信 openId,非微信授权登录则空 |
appId | string | 是 | 微信 appId,非微信授权登录则空 |
uid | string | 是 | 用户唯一 ID |
customUserId | string | 是 | 开发者自定义的用户唯一 id,非自定义登录则空 |
#
4. 示例代码const tcb = require("@cloudbase/node-sdk");const app = tcb.init({ env: "xxx" });const auth = app.auth();
exports.main = async (event, context) => { const { openId, //微信openId,非微信授权登录则空 appId, //微信appId,非微信授权登录则空 uid, //用户唯一ID customUserId //开发者自定义的用户唯一id,非自定义登录则空 } = auth.getUserInfo(); console.log(openId, appId, uid, customUserId);};
#
getEndUserInfo#
1. 接口描述接口功能:获取用户信息
接口声明:getEndUserInfo(uid?: string, opts?: Object): Object
提示
自 Node SDK 2.2.5 版本起支持此接口
#
2. 输入参数字段 | 类型 | 必填 | 说明 |
---|---|---|---|
uid | string | 否 | 云开发用户身份标识。如果不传入,则从环境变量中读取用户信息。 |
opts | Object | 否 | 自定义请求配置 |
#
3. 返回结果字段 | 类型 | 必填 | 说明 |
---|---|---|---|
userInfo | EndUserInfo | 是 | 云开发用户信息 |
requestId | string | 否 | 请求唯一标识 |
EndUserInfo:
字段 | 类型 | 说明 |
---|---|---|
openId | string | 微信 openId,非微信授权登录则空 |
appId | string | 微信 appId,非微信授权登录则空 |
uid | string | 用户唯一 ID |
customUserId | string | 开发者自定义的用户唯一 id,非自定义登录则空 |
envName | string | 云开发环境名 |
nickName | string | 用户昵称 |
string | 用户登录邮箱 | |
username | string | 用户登录用户名 |
hasPassword | boolean | 用户是否设置密码 |
gender | "MALE" | "FEMALE" | "UNKNOWN" | 云开发登录用户名 |
country | string | 地理位置(国家) |
province | string | 地理位置(省份) |
city | string | 地理位置(城市) |
avatarUrl | string | 用户头像地址 |
qqMiniOpenId | string | 用户绑定的 qq 小程序标识 |
#
4. 示例代码const tcb = require("@cloudbase/node-sdk");const app = tcb.init({ env: "xxx" });const auth = app.auth();
exports.main = async (event, context) => { try { const { userInfo } = await auth.getEndUserInfo("your user uuid"); console.log(userInfo); } catch (error) { console.log(error.message); }};
#
queryUserInfo#
1. 接口描述接口功能:获取用户信息
接口声明:queryUserInfo(query?: Object, opts?: Object): Object
提示
自 Node SDK 2.6.1 版本起支持此接口
#
2. 输入参数字段 | 类型 | 必填 | 说明 |
---|---|---|---|
query | IUserInfoQuery | 否 | 云开发用户身份标识。 |
opts | Object | 否 | 自定义请求配置 |
#
IUserInfoQuery字段 | 类型 | 必填 | 说明 |
---|---|---|---|
platform | string | 否 | 登录类型,已支持 PHONE, USERNAME, EMAIL,CUSTOM |
platformId | string | 否 | 登录标识,对应 platform 分别为手机号,用户名,邮箱,自定义登录 ID |
uid | string | 否 | 用户唯一 ID,若指定该字段,则优先用该字段搜索 |
#
3. 返回结果字段 | 类型 | 必填 | 说明 |
---|---|---|---|
userInfo | EndUserInfo | 是 | 云开发用户信息 |
requestId | string | 否 | 请求唯一标识 |
EndUserInfo:
字段 | 类型 | 说明 |
---|---|---|
openId | string | 微信 openId,非微信授权登录则空 |
appId | string | 微信 appId,非微信授权登录则空 |
uid | string | 用户唯一 ID |
customUserId | string | 开发者自定义的用户唯一 id,非自定义登录则空 |
envName | string | 云开发环境名 |
nickName | string | 用户昵称 |
string | 用户登录邮箱 | |
username | string | 用户登录用户名 |
hasPassword | boolean | 用户是否设置密码 |
gender | "MALE" | "FEMALE" | "UNKNOWN" | 云开发登录用户名 |
country | string | 地理位置(国家) |
province | string | 地理位置(省份) |
city | string | 地理位置(城市) |
avatarUrl | string | 用户头像地址 |
qqMiniOpenId | string | 用户绑定的 qq 小程序标识 |
#
4. 示例代码const tcb = require("@cloudbase/node-sdk");const app = tcb.init({ env: "xxx" });const auth = app.auth();
exports.main = async (event, context) => { try { const { userInfo } = await auth.getEndUserInfo("your user uuid"); console.log(userInfo); } catch (error) { console.log(error.message); }};
#
getClientIP#
1. 接口描述接口功能:获取客户端 IP
接口声明:getClientIP(): string
#
2. 输入参数无
#
3. 返回结果字段 | 类型 | 必填 | 说明 |
---|---|---|---|
- | string | 是 | 客户端 IP |
#
4. 示例代码const tcb = require("@cloudbase/node-sdk");const app = tcb.init({ env: "xxx" });const auth = app.auth();
exports.main = async (event, context) => { const ip = auth.getClientIP(); // string console.log(ip);};
#
createTicket#
1. 接口描述接口功能:获取自定义登录的登录凭据 ticket
接口声明:createTicket(customUserId, option): string
⚠️ 从 2.1.0 版本起,createTicket 方法中会校验 私钥中 env 值和 init 指定 env 值是否一致,不一致则直接报错,为不兼容变更
#
2. 输入参数字段 | 类型 | 必填 | 说明 |
---|---|---|---|
customUserId | string | 是 | 开发者自定义的用户唯一 id |
option | string | 是 | 微信 appId,非微信授权登录则空 |
#
option字段 | 类型 | 必填 | 说明 |
---|---|---|---|
refresh | number | 否 | access_token 的刷新时间 |
expire | number | 否 | access_token 的过期时间 |
#
3. 返回结果字段 | 类型 | 必填 | 说明 |
---|---|---|---|
- | string | 是 | 自定义登录凭据 ticket |
#
4. 示例代码const tcb = require('@cloudbase/node-sdk')const app = tcb.init({ env: 'xxx', credentials: { private_key_id: 'xxxxx', // 私钥文件中获取 private_key: 'xxxxxxx' // 私钥文件中获取 env_id: 'xxx' // 私钥文件中获取 }})
const auth = app.auth()
const customUserId = '123456' // 开发者自定义的用户唯一id
const ticket = auth.createTicket(customUserId, { refresh: 3600 * 1000 // access_token的刷新时间})
console.log(ticket)