验证状态:已源码核验、未联调(无 app 调用图);本页为流程编排页,不复制正本字段表,各步骤的协议契约、完成判据与错误出口以其链接的正本/stub 页为准(核验基线同各正本页:源码归纳 @ 2026-09-14)。
串起四族凭据(用户名 / 邮箱 / 手机号 / 第三方)从注册到登录、再到恢复登录态的完整启动链路。任何设备与分享操作都以有效登录态为前提;四族的登录入口不同,登录态恢复与 token 替换约束是共享的。
status=1000,先读错误响应差异,不要把认证失败当网络错误。data.authorization(AES 加密 JWT,透传 Authorization: Bearer 即可)、data.username 与 data.tenantId——tenantId 即后续请求的当前租户(用户个人空间租户)。extraData);第三方族可重复调用第三方账号登录换取新 token。error 为已插值文案、extraData.ss 为剩余秒数、extraData.message 为未插值模板(可本地化渲染倒计时),频控按组合而非用户名计——同一账号被高频尝试会影响所有知晓该组合的调用方(见第三方账号登录)。邮箱 / 手机号族的验证码与登录频控见各自机构正本页。type 区分用途。status=1000,另有 401/1000 变体出口):统一引导重新登录,不是网络错误,不做自动重试(判定口径见错误响应差异)。error/extraData 提示倒计时或节流(3 秒限频应在客户端预防性节流);见上文「关键约束」。Incorrect third party account or code(无绑定记录或绑定用户已不存在,同一文案不区分)与 Unbound tenant(绑定用户名下没有任何租户);用户名 / 邮箱 / 手机号族的凭据错误出口见各登录入口页指向的正本。status=422 族),出口文案与重试规则以各验证码 / 注册 / 找回正本页为准。code 现状:code 字段必填但服务端不校验其值(无平台对接逻辑)——「拿到第三方平台授权」与「平台登录」之间的真实鉴权链条完全在 App 侧。App 必须在第三方平台 OAuth / 授权成功后再取其用户标识调用 bind / login,否则任何知晓(类型, 账号)组合的一方都能登录或绑定该用户(见第三方账号登录、绑定第三方账号的已知缺口节)。data 各字段为 null 的成功应答表示当前无登录态——引导重新登录,不要当作接口故障。