如何创建一个随机的唯一令牌并使用它来验证 ASP.NET Core 中用户的电子邮件地址?

How can I create a random unique token and use it to verify an email address for a user in ASP.NET Core?

除了电子邮件验证之外,我已经为我的用户注册编写了所有逻辑。通过我的研究,我了解到,简单地说,我需要创建一个随机的唯一令牌并将该令牌包含在发送到要验证的电子邮件地址的 link 中。

我如何创建这个随机令牌以及我应该如何处理来自激活的请求link?

我不知道 Nuget,但您可以自己编写代码来发送激活 link 并进行处理。 步骤是:

1) 生成随机唯一令牌并将其保存在您的数据库中。要生成唯一令牌,您可以在 Java 中使用 UUID as

String uniqueID = UUID.randomUUID().toString();

2) 包含该令牌,对其进行加密(虽然不是必需的)并将其发送到电子邮件 ID。

示例:www.xyz.com/activation?action=a273jsjh2718sjhdj271jgsdjaj28jh

3) 当用户单击 link 时,调用该方法在您的控制器中进行进一步处理。将 url 映射到控制器中的方法。

这是使用 Spring 框架完成的 example。我希望它有所帮助。

PS:我不知道这是否适合生产。我只是想帮助你。