跳到主要内容

登录鉴权

getUserInfo

1. 接口描述

接口功能:获取用户信息

接口声明:getUserInfo(): Object

注意

此接口将会在下个主版本废弃,推荐使用 Auth.getEndUserInfo()

2. 输入参数

3. 返回结果

字段类型必填说明
openIdstring微信 openId,非微信授权登录则空
appIdstring微信 appId,非微信授权登录则空
uidstring用户唯一 ID
customUserIdstring开发者自定义的用户唯一 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. 输入参数

字段类型必填说明
uidstring云开发用户身份标识。如果不传入,则从环境变量中读取用户信息。
optsObject自定义请求配置

3. 返回结果

字段类型必填说明
userInfoEndUserInfo云开发用户信息
requestIdstring请求唯一标识

EndUserInfo:

字段类型说明
openIdstring微信 openId,非微信授权登录则空
appIdstring微信 appId,非微信授权登录则空
uidstring用户唯一 ID
customUserIdstring开发者自定义的用户唯一 id,非自定义登录则空
envNamestring云开发环境名
nickNamestring用户昵称
emailstring用户登录邮箱
usernamestring用户登录用户名
hasPasswordboolean用户是否设置密码
gender"MALE" | "FEMALE" | "UNKNOWN"云开发登录用户名
countrystring地理位置(国家)
provincestring地理位置(省份)
citystring地理位置(城市)
avatarUrlstring用户头像地址
qqMiniOpenIdstring用户绑定的 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. 输入参数

字段类型必填说明
queryIUserInfoQuery云开发用户身份标识。
optsObject自定义请求配置
IUserInfoQuery
字段类型必填说明
platformstring登录类型,已支持 PHONE, USERNAME, EMAIL,CUSTOM
platformIdstring登录标识,对应 platform 分别为手机号,用户名,邮箱,自定义登录 ID
uidstring用户唯一 ID,若指定该字段,则优先用该字段搜索

3. 返回结果

字段类型必填说明
userInfoEndUserInfo云开发用户信息
requestIdstring请求唯一标识

EndUserInfo:

字段类型说明
openIdstring微信 openId,非微信授权登录则空
appIdstring微信 appId,非微信授权登录则空
uidstring用户唯一 ID
customUserIdstring开发者自定义的用户唯一 id,非自定义登录则空
envNamestring云开发环境名
nickNamestring用户昵称
emailstring用户登录邮箱
usernamestring用户登录用户名
hasPasswordboolean用户是否设置密码
gender"MALE" | "FEMALE" | "UNKNOWN"云开发登录用户名
countrystring地理位置(国家)
provincestring地理位置(省份)
citystring地理位置(城市)
avatarUrlstring用户头像地址
qqMiniOpenIdstring用户绑定的 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. 输入参数

字段类型必填说明
customUserIdstring开发者自定义的用户唯一 id
optionstring微信 appId,非微信授权登录则空

option

字段类型必填说明
refreshnumberaccess_token 的刷新时间
expirenumberaccess_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)