HMS SafetyDetect验证码校验返回timeout-or-duplicate错误问题咨询
timeout-or-duplicate 错误的触发逻辑分为两类:一是待校验的验证码token已超出2分钟有效期,二是该token已被提交校验过一次,无法重复使用。
目前确实有大量使用 com.huawei.hms:safetydetect:6.1.0.302 版本的开发者反馈,近期HMS Core版本更新后出现了同类偶现问题,可按以下优先级排查修复:
- 验证全链路耗时:客户端获取token到业务服务端调用华为校验接口的总耗时超过120秒就会触发该错误。部分中低端设备上HMS Core组件拉起速度变慢,可能导致验证码请求本身耗时就接近1分钟,加上网络传输耗时很容易超出有效期,可在客户端添加token生成时间戳埋点确认是否存在该情况。
- 排查重复提交逻辑:确认业务侧是否存在前端重试、接口防抖异常的问题,同一个token只要被成功提交到华为服务器校验过一次,后续所有提交请求都会返回该错误。
- 升级SDK版本:
6.1.0.302版本存在和高版本HMS Core的适配缺陷,会偶发token未到有效期就被标记失效的问题,直接将SafetyDetect依赖升级到6.11.0.301即可修复,现有业务逻辑无需调整。 - 校验设备系统时间:如果设备本地时间和华为服务器标准时间差值超过10分钟,也会触发时间校验失败返回该错误,可引导出现问题的用户确认设备是否开启了自动同步网络时间。
内容的提问来源于stack exchange,提问作者Alexandr
相关产品推荐
相关产品推荐

