我的网络应用程序中有一项要求,即我需要使用电话号码而不是电子邮件和密码注册用户。
系统应该输入用户的电话号码并向该电话号码发送OTP短信。如果OTP匹配,我需要创建用户。
我尝试使用asp.net身份2FA,但只有在用户已注册并且用户表中更新了电话号码时才能使用。
有人可以帮助我。
先谢谢。
塔拉克
答案 0 :(得分:0)
您将必须使用短信提供商提供的付费短信链接,将文本发送到特定的电话号码。
例如-当用户注册在您的网站上时,其号码将插入数据库中,并且 OTP 创建并针对该电话号码插入链接,该链接将用于将OTP发送到以下电话号码。 因此,在登录期间,系统将询问用户otp,如果他/她在移动设备上获得的otp与数据库中的otp匹配,则登录将成功。 我认为没有任何方法可以将文本发送到这样的电话号码。 您将不得不使用一些付费短信提供商链接或类似的东西。 我希望我已经回答了你的问题。
答案 1 :(得分:0)
ASP.NET(核心)身份假定用户已经注册,然后才能生成一次性密码。这样做的原因是ASP.NET Identity使用用户的SecurityStamp(随机字符串),后者是生成的TOTP的一部分。我仍然不确定100%是最佳解决方案。这是我的2美分: