Auth 登录鉴权
getUserInfo
1. 接口描述
接口功能:获取用户信息
接口声明:getUserInfo(): IGetUserInfoResult
2. 输入参数
无
3. 返回结果
字段 | 类型 | 必填 | 说明 |
---|---|---|---|
openId | string | 是 | 微信 openId ,非微信授权登录则空 |
appId | string | 是 | 微信 appId ,非微信授权登录则空 |
uid | string | 是 | 用户唯一 ID |
customUserId | string | 是 | 开发者自定义的用户唯一 id,非自定义登录则空 |
4. 示例代码
import tcb from '@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?: ICustomReqOpts): Promise<IGetEndUserInfoResult>
提示
自 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 | 用户昵称 |
email | string | 用户登录邮箱 |
username | string | 用户登录用户名 |
hasPassword | boolean | 用户是否设置密码 |
gender | "MALE" \| "FEMALE" \| "UNKNOWN" | 云开发登录用户名 |
country | string | 地理位置(国家) |
province | string | 地理位置(省份) |
city | string | 地理位置(城市) |
avatarUrl | string | 用户头像地址 |
qqMiniOpenId | string | 用户绑定的 qq 小程序标识 |
4. 示例代码
import tcb from '@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: IUserInfoQuery, opts?: ICustomReqOpts): Promise<any>
提示
自 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 | 用户昵称 |
email | string | 用户登录邮箱 |
username | string | 用户登录用户名 |
hasPassword | boolean | 用户是否设置密码 |
gender | "MALE" \| "FEMALE" \| "UNKNOWN" | 云开发登录用户名 |
country | string | 地理位置(国家) |
province | string | 地理位置(省份) |
city | string | 地理位置(城市) |
avatarUrl | string | 用户头像地址 |
qqMiniOpenId | string | 用户绑定的 qq 小程序标识 |
4. 示例代码
import tcb from '@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. 示例代码
import tcb from '@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: string, options?: ICreateTicketOpts) => string
2. 输入参数
字段 | 类型 | 必填 | 说明 |
---|---|---|---|
customUserId | string | 是 | 开发者自定义的用户唯一 id |
ICreateTicketOpts | string | 是 | 微信 appId ,非微信授权登录则空 |
ICreateTicketOpts
字段 | 类型 | 必填 | 说明 |
---|---|---|---|
refresh | number | 否 | access_token 的刷新时间 |
expire | number | 否 | access_token 的过期时间 |
3. 返回结果
字段 | 类型 | 必填 | 说明 |
---|---|---|---|
- | string | 是 | 自定义登录凭据 ticket |
4. 示例代码
import tcb from '@cloudbase/node-sdk'
const app = tcb.init({ env: 'xxx' })
const auth = app.auth()
const customUserId = '123456' // 开发者自定义的用户唯一id
const ticket = auth.createTicket(customUserId, {
refresh: 3600 * 1000 // access_token的刷新时间
})
console.log(ticket)