昨晚喝了点酒,结果 4 点多一点就醒了,一直到现在睡不着……
不讨论短信下发延迟,以及短信平台哪家强的问题。
问一下你们的验证码短信失效时间是怎么定的?一般流程是点击发送验证码按钮后,会禁用按钮并做 60 秒倒计时,超时之后可以重新点击发送验证码。
我司目前的做法是,短信验证码的时效是 60 秒。也就是你第二次点击发送之后,会生成一个新的验证码。
这里面会遇到一个问题:短信下发延迟。也许你在使用短信验证码的时候,点了发送没反应,过了 60 秒再点,咦,收到了 2 条验证码,并且验证码不一样。该输入那个呢(有可能最后收到的反倒是已经失效的那个)?当然非要说一个一个试那也可以。。。
因此我建议服务器端生成验证码后,失效时间改为 180 秒,当 60 秒后用户重新点击,继续将当前的验证码下发给用户,这样就不会造成收到 2 次验证码不一致的小困扰了。
然而,我们技术同学没有同意(嗯,我就是攻城狮门所不齿的产品汪)
你们是怎么做的呢?
