ci / verify (push) Canceled after 0s
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.
15 lines
1.8 KiB
Markdown
15 lines
1.8 KiB
Markdown
# 新设备短信验证与 6 位密码
|
|
|
|
版本:`0.98.0-rc.trusted-login1`,基于线上 `0.97.1-rc.tencent-captcha1`。
|
|
|
|
- 新密码接受 6–64 个 Unicode 字符,前后端与管理员手机号开通命令保持一致。
|
|
- 新浏览器首次密码登录,即使密码和人机验证正确,也只返回 `NEW_DEVICE_SMS_REQUIRED`。页面转到现有 `LOGIN` 短信流程,保留手机号和登录后的原始去向。
|
|
- 短信验证成功后签发 30 天、HttpOnly、Secure、SameSite=Lax 的设备验证 Cookie。家庭端与管理端隔离,验证绑定手机号和当前密码摘要。退出保留记录;换浏览器、清除 Cookie、到期或管理员重置密码后重新验证。
|
|
- 修改密码撤销其他设备的验证记录,当前浏览器已有且未过期的记录可保留。设备验证不能用于跳过密码、人机验证或短信找回密码。
|
|
- 迁移 72 新增 `trusted_login_device`。服务端只保存随机令牌的摘要,过期及已撤销记录由维护任务清理。迁移为新增表,旧版本可兼容回退。
|
|
- 小程序密码接口同样检查设备验证,短信成功响应返回 `trusted_device_token` 和 `trusted_device_expires_in`;客户端按服务地址、账号和 portal 保存。小程序源码已配套更新,需按原有微信发布流程发布客户端。
|
|
|
|
发布使用当前线上源代码加本次相关文件构建;保留现有短信配置、人机验证策略和其他业务页面。发布前执行加密数据库备份并在隔离数据库验证恢复。
|
|
|
|
验证包括 PostgreSQL/Redis 中的客户与管理端短信流程、设备证明到期/伪造/账号及角色隔离、密码变更撤销、原生接口防绕过;网页实际组件测试覆盖新设备提示、登录短信用途、5 位拒绝/6 位接受、找回密码及移动端布局。未代替用户收取真实短信或发布微信客户端。
|