C#中的一次性密码会在一段时间后过期吗?

Jus*_*ict 1 c# asp.net one-time-password

我正在为C#.net上的网站登录页面,遇到了一个问题,并希望你们可以帮助我.

情况就是这样:用户进入登录屏幕,然后从那里键入他们的电子邮件,我们将参考数据库检查有效性,如果有效,则随机的8位数密钥将是生成并发送到电子邮件.用户现在应该检查他/她的电子邮件以获得"一次性密码",然后键入一个文本框以继续.

生成和发送电子邮件已经完成,但我不确定如何继续这样做

我的团队成员之间有一些讨论,其中一个建议使用会话超时,然后当点击按钮时,将发送电子邮件,创建会话变量并在其中存储一次性密码,然后我们将引用用户使用会话变量输入的文本框文本,如果正确,它们将被登录.

我想到的另一种方法是使用Javascript计时器,然后在网页上使用不可见标签进行引用.但我不确定Javascript是否可以允许这种情况发生..

你最好的办法是什么?

谢谢!

awr*_*t18 7

它是时间敏感的,只需将代码存储在具有到期日期时间的数据库中.然后,当用户带回他们的令牌时,您可以看到它是否尚未过期,如果它已经请求他们开始该过程.