跳到主要内容

登录鉴权

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)