关于短信/邮箱验证码的设计

20次阅读

共计 455 个字符,预计需要花费 2 分钟才能阅读完成。

在做一个金融类的 app, 对安全性要求较高。一个注册功能我设计了 4 个接口,才能完成注册,其中第一步:输入邮箱。第二步验证邮箱,第三步验证手机,第四步输入密码,产品还要求一段时间内验证完某个步骤后中间中断了,下次进来直接跳到下一步

还有其他比如首次登陆,更改密码。更改手机绑定,都需要这个功能,我应该如何设计呢?
如果不考虑注册的这个,因为他设计到要跳过某个步骤。我想的是两个接口
/sendCode(type:”sms”, “12425724234”, “scene”: “login”) return token
token = md5(“sms”+ “12425724234” + scene), 存到 redis, 10min 过期
/verifyCode(token)
如果验证成功,生成一个 authToken, 存到 redis, 返回一个 authToken, 后续比如更改密码接口,带上这个 autToken?,authToken 只能被使用一次,验证后就从 redis 删除,authTOken = md5(token+time.Now())

这样设计如何呢?

正文完
 0