Add customer and operator login, BLE provisioning, device fleet controls, call memory, memoir generation, and refreshed family and maintenance portals. Include API contracts, migrations, firmware sources, tests, assets, and deployment documentation.
2.5 KiB
管理端手机号登录
管理端 /maintenance 使用与家庭端相同的手机号登录界面:手机号加短信验证码、手机号加密码;两种方式可以切换,手机号保持不变。密码提交与短信发送前都必须通过图片验证码。未登录访问管理页面时转到登录页,成功后恢复原路径、参数和片段。
用户已明确指定将管理手机号 18941657635 绑定到原 Keycloak admin。已核实其现有账号、身份签发者和 subject,沿用 ops_admin 角色;不新建管理员、不修改家庭端 owner。初始密码通过离线 CLI 的标准输入设置,不写入源码或部署记录。
迁移 62 新增独立管理端凭据、匿名登录、短信挑战和账号会话表。HTTPS 下分别使用 __Host-platform-operator-login 与 __Host-platform-operator Cookie。管理端和家庭端密码、会话、CSRF 分开;修改管理密码撤销其他管理会话,保留当前会话及家庭会话。管理端禁止自助注册,短信登录仅接受预先绑定且有效的管理身份。
管理 Cookie 可用于 /api/v1/ops/*;读取 /api/v1/me、/api/v1/events、管理内容模型接口时使用 X-Login-Portal: operator。该头只选择认证方式,权限仍由数据库中的有效账号、角色、租户和接口权限校验决定。写接口仍要求同源与 CSRF,原 Bearer 认证继续兼容。
管理账户菜单的“登录与安全”支持修改密码。短信验证后可重置密码;短信通道未接通时只能使用密码登录,页面不会显示虚假的短信发送成功。
验证:迁移后的独立 PostgreSQL、Redis 集成测试通过 114 个顶层用例;浏览器回归通过 39 项检查(管理端 7 项、家庭短信 11 项、密码 9 项、登录路由 12 项)。包括跨端身份隔离、禁止创建未绑定管理账号、图片验证、CSRF、密码变更及会话撤销、禁用管理员立即失效、返回原页面、刷新和移动端布局。短信测试使用测试网关,未向真实手机号发送短信。
发布版本为 0.83.1-rc.operator-login-fix1;线上实际验证和部署记录保存在该发布目录。当前短信供应商未配置。
线上回归发现独立注册的告警路由仍只接受 Bearer,已补齐管理 Cookie 认证并添加实际路由回归测试。用户后续明确指定管理账号密码,已通过一次性、限定原 admin 身份和完整手机号摘要的离线操作更新;原管理会话已撤销,公共修改密码策略不变。密码不写入发布记录。