登录与验证
为什么要求重新登录
被要求重新登录、被要求再验证一次的原因,以及验证失败时该怎么办。
为什么总是被要求重新登录
会话有时效,到期就需要重新登录。这是设计使然:长期有效的会话一旦泄露,攻击窗口会一直开着。
除自然过期外,还有三种提前失效的情况:
| 原因 | 判断方式 |
|---|---|
| 会话被撤销 | 你在账号设置里撤销过,或在别处点了「撤销其他所有会话」 |
| 密码被重置 | 重置密码通常会连带结束已有会话 |
| 安全策略主动结束 | 检测到异常登录(异地、异常设备)时可能触发 |
换设备后登录态不同步
会话按设备维护,不跨设备共享。在 A 设备登录不会让 B 设备也登录,这是有意为之——一个设备的凭据泄露不该波及其他设备。
为什么操作时被要求再验证一次
修改安全设置、删除数据、撤销授权这类操作,服务端会要求「刚刚确认过是你本人」。协议上这由认证强度(acr)与最大认证时长(max_age)控制:会话虽然有效,但最近一次强验证已经太久了,于是插入一次提权挑战。
这时会要求你用通行密钥或验证器再确认一次。这是保护,不是出错:如果跳过,任何拿到你未锁屏设备的人都能改掉你的安全设置。
细节见认证强度。
验证失败怎么办
| 现象 | 原因 | 处理 |
|---|---|---|
| 通行密钥提示不匹配 | 用的不是登记在这台设备上的密钥 | 换回登记时的设备,或用其他验证方式 |
| 验证器验证码总是错 | 手机时间不准 | 开启自动时间同步后重试 |
| 没有可用的验证方式 | 验证方式全丢 | 用恢复码;没有恢复码则走账号恢复流程 |
| 反复被要求验证 | 当前会话的认证时长不足,或 max_age 要求很短 | 属正常行为,完成一次强验证即可继续 |