发送没有asp.net核心身份的电子邮件验证码

时间:2020-05-21 13:48:35

标签: c# asp.net-core email-validation

我知道可以使用asp.net核心标识创建和发送电子邮件验证代码。但就我而言,我不想设置asp.net核心标识使用的所有表。我正在考虑通过接受电子邮件作为输入来创建生成代码的服务,并提供api进行验证。

是否有任何nuget包或自定义方式来创建没有asp.net核心身份的电子邮件验证代码?

2 个答案:

答案 0 :(得分:0)

您可以自己创建一个表来存储验证码,然后使用随机数生成器来创建验证码。那么您可以采取一些控制措施来获取此随机代码,并在表格中检查它是否与电子邮件匹配。

答案 1 :(得分:0)

大多数验证码背后的基本思想是通过组合;

  • 一个隐藏的秘密
  • 某种目的的令牌
  • 每个用户的值,例如电子邮件地址
  • 基于当前时间的计数器。

例如hash($"secret:email:{emailAddress}:{timestep}")

要进行验证,您将为一小段时间值重新创建令牌,以查看它们是否匹配。

asp netcore身份使用的实现可在github上找到。