WSO2 Identity 密码重置确认链接使用后未正常失效问题咨询
WSO2 Identity 密码重置链接使用后未自动过期修复方案
问题说明
当前使用的WSO2 Identity服务下发的密码重置链接,在用户完成密码重置操作后不会自动失效,用户可多次点击同一链接执行重置操作。对照WSO2 Identity更高版本的官方设计逻辑,该类链接在被正常使用后本应自动过期,问题根因为对应的重置确认码未被标记为失效状态。
排查步骤
- 确认当前部署的WSO2 Identity具体版本,低于5.11.0的部分旧版本存在原生缺陷,会出现重置成功后未更新确认码状态的问题
- 检查身份服务器关联数据库的
RecoveryCode表,核对用户完成密码重置后,对应记录的USED字段是否被正常更新为已使用标识 - 若存在自定义开发的密码重置流程,检查是否遗漏了官方确认码作废接口的调用,导致原生的失效逻辑未触发
修复方法
- 若使用的是存在原生缺陷的旧版本,可直接部署官方对应版本的修复补丁,无需升级全版本即可解决问题,注意确认补丁和你当前部署的小版本完全匹配,避免出现依赖不兼容问题
- 存在自定义开发逻辑的场景下,在密码重置成功的执行逻辑末尾,新增调用
invalidateRecoveryCode(String code)接口,手动标记本次使用的确认码为失效状态 - 临时应急可调整密码重置链接的全局有效时长,缩短单次链接的有效窗口,降低被多次使用的安全风险
调整后务必先在测试环境完成两类验证:一是密码重置全流程可正常走完,二是重置成功后原链接再次访问会提示已失效,确认逻辑正常后再上线生产环境。
内容的提问来源于stack exchange,提问作者VAM7965
相关产品推荐
相关产品推荐

