c# - 在 ASP.NET Core Web Api 中注册后,将电子邮件确认令牌作为可点击链接发送给用户
问题描述
我正在使用 AWS SES 服务向用户发送电子邮件。注册后,会在我的 AccountServive.sc 中生成一个令牌
var confirmEmailToken = await _userManager.GenerateEmailConfirmationTokenAsync(user);
我在此服务中有一个函数,SendEmailForAccountCreatedAndEmailVerification
它接受用户名和链接以替换电子邮件的 HTML 正文。并且这个正文是在 EmailSender 函数中传递的。
如何从用户在他/她的邮件中收到的这个令牌创建链接,可以点击确认是电子邮件地址?
解决方案
生成激活链接的完整代码已在Register.cshtml.cs
和下定义RegisterConfirmation.cshtml.cs
:
var userId = await _userManager.GetUserIdAsync(user);
var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);
code = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(code));
EmailConfirmationUrl = Url.Page(
"/Account/ConfirmEmail",
pageHandler: null,
values: new { area = "Identity", userId = userId, code = code },
protocol: Request.Scheme);
推荐阅读
- excel - Excel 复选框和数组
- c++ - 比较c++中的两个变量
- php - 修复这个 multidimosenal 数组 foreach 循环选择,我做了函数但不起作用,谁能帮我解决这个问题?
- python - Python中的除法错误
- google-sheets - 如何根据多个行标准计算 ArrayFormula 内的加权平均值?
- typescript - 如何使用 typscript 编译器向 typescript 文件中的现有 json 对象添加另一个属性?
- java - 在 AWS Elastic Beanstalk 上增加 Nginx 的 client_max_body_size。爪哇 11
- r - r 带有选项卡和面板的 flex 仪表板布局
- azure-devops - Azure Devops 无法从计算机上的注册表中找到 Dac 框架 (SqlPackage.exe) 的位置
- c# - 如何从 C# 中的 powershell 脚本中捕获退出代码