有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java通过OTP重置密码

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

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

第二条:-验证OTP

第三条:-重置密码

问题:-

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

请回答!!!提前终止


共 (1) 个答案

  1. # 1 楼答案

    1.How I can maintain OTP at api side to validate it.

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

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

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

    2.If a person directly hit my reset password Api,then he/she could change password, which is a security breach.

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