概述
为 RainMaker 应用提供注册、登录,以及资料、会话、安全和推送端点管理。
本模块的功能
用户管理覆盖 RainMaker 的身份与账号操作:认证、密码、资料、自定义数据、标签、MFA、会话、推送注册,以及临时 AWS 凭证(assumeRole)。
预期结果:获得已登录的 ESPRMUser,用于节点、群组和云端功能。
常见工作流
登录(密码)
const authInstance = ESPRMBase.getAuthInstance();
const userInstance = await authInstance.login(username, password);
参阅认证。
应用启动时恢复会话
const authInstance = ESPRMBase.getAuthInstance();
const userInstance = await authInstance.getLoggedInUser();
if (!userInstance) {
// Show login screen
}
参阅会话。
注册推送通知
const endpointArn = await userInstance.createPlatformEndpoint({
platform: "FCM",
deviceToken: fcmToken,
});
开发路径
| 目标 | 指南 |
|---|---|
| 注册、登录(密码、OTP、OAuth) | 认证 |
| 忘记密码 / 修改密码 | 密码 |
| 姓名、电话、资料 | 用户资料 |
| 自定义 JSON、地理坐标、时区 | 自定义数据 |
| 用户标签 | 标签 |
| MFA、删除账号 | 安全 |
| 登出、令牌 | 会话 |
| FCM / APNS 端点 | 推送通知 |
| MQTT / 视频 AWS 凭证 | Assume Role |
最佳实践
- 在认证前配置存储适配器 — 会话通过适配器持久化
- 启动时调用
getLoggedInUser()— 恢复会话,无需强制登录 - 登录后再注册推送 — 端点与用户和设备令牌绑定
- 仅在需要时使用
assumeRole— 用于 MQTT 或摄像头推流,不要用于常规 REST 调用

