java通过OTP重置密码
我正在开发重置密码的Api:-
第一条:-验证电子邮件或电话并发送OTP
第二条:-验证OTP
第三条:-重置密码
问题:-
一,。如何在api端维护OTP以验证它。 2.如果有人直接点击我的重置密码Api,那么他/她可能会更改密码,这是一种安全漏洞
请回答!!!提前终止
你可以在下面搜索框中键入要查询的问题!
我正在开发重置密码的Api:-
第一条:-验证电子邮件或电话并发送OTP
第二条:-验证OTP
第三条:-重置密码
问题:-
一,。如何在api端维护OTP以验证它。 2.如果有人直接点击我的重置密码Api,那么他/她可能会更改密码,这是一种安全漏洞
请回答!!!提前终止
# 1 楼答案
密码重置的OTP应该是随机的、有时间限制的,并绑定到用户名。所以是的,你需要持续维护OTP
选项一——您可以构建一个数据库,在其中存储生成的OTP及其有效性
选项二——您可以以签名jwt的形式生成OTP,因此验证算法只验证时间戳和签名(此OTP密码较长,因此仅适用于电子邮件)
没有必要公开单独的验证服务。重置服务本身应验证otp并重置密码(作为一项操作)