通过OTP重置密码

时间:2018-10-25 05:37:31

标签: java spring

我正在为重置密码开发Api:-

第一名:-验证电子邮件或电话并发送OTP。

第二个:-验证OTP。

第三名:-重设密码。

问题:-

1。如何在api端维护OTP进行验证。 2.如果有人直接点击我的重置密码Api,那么他/她可以更改密码,这是安全漏洞。

请先回答!谢谢!

1 个答案:

答案 0 :(得分:0)

  

1。如何在api端维护OTP以进行验证。

用于密码重置的OTP应该是随机的,受时间限制并绑定到用户名。所以是的,您需要持续维护OTP

选项一-您可以建立一个数据库,在其中存储所生成的OTP及其有效性。

第二种方法-您可以生成带签名的jwt形式的OTP,因此验证算法仅验证时间戳和签名(此OTP密码较长,因此仅适用于电子邮件)

  

2。如果一个人直接击中了我的重置密码Api,那么他/她就可以更改密码,这是安全漏洞。

没有必要公开单独的验证服务。重置服务本身应验证otp或不重置密码(作为一项操作)