用途:面向在 CloudBase 项目中运行于 Node.js 的服务端代码,负责身份认证与身份读取,而非登录提供商配置或前端登录界面。
主要能力:auth.getUserInfo() 读取当前调用者的 openId、appId、uid、customUserId;auth.getEndUserInfo(uid) 按 UID 获取完整用户资料(省略 uid 则取当前调用者);auth.queryUserInfo({ platform, platformId, uid? }) 按手机号、邮箱、用户名或自定义 ID 等登录标识查询用户;auth.getClientIP() 在受支持环境返回调用者 IP;auth.createTicket(customUserId, options) 为自定义登录签发登录票据,options 可含 refresh 与 expire(毫秒)。
使用方式:安装最新 @cloudbase/node-sdk,以 tcb.init({ env: "your-env-id" }) 初始化,再取 app.auth()。自定义登录需在初始化时传入 tcb_custom_login.json 私钥文件路径的 credentials,示例:import tcb from "@cloudbase/node-sdk"; const app = tcb.init({ env: "your-env-id" }); const auth = app.auth();。签发票据时 customUserId 长度需 4–32 字符,允许字母、数字及 _-#@(){}[]:.,<>+#~ 等字符。客户端(通常 Web)用 @cloudbase/js-sdk 收到票据后调用 auth.setCustomSignFunc 与 auth.signInWithCustomTicket() 完成登录。
适用场景:云函数中判断调用者身份并做鉴权、按 UID 或登录标识查询用户资料、审计日志或基于 IP 的访问控制、将既有用户体系桥接到 CloudBase。
限制:不用于提供商启用/禁用或登录控制台配置,不用于前端登录/注册 UI,不用于小程序原生认证,也不描述原始 HTTP 认证端点;数据库或存储等与身份无关的操作不适用。票据签发须在自有用户认证成功后进行,私钥文件须保密且不得打包进前端;SDK 方法名与参数结构应遵循官方类型,不确定时查阅官方 CloudBase Auth Node SDK 文档。若请求混合前后端关注点,应拆分为前端登录与后端身份逻辑两部分。部分环境细节与完整类型定义暂未提供。