有没有办法撤销ASP NET Identity 2.0中用户管理器生成的电子邮件验证令牌?
上下文
我想让用户重新发送确认电子邮件.为此,我使用:生成一个新令牌UserManager.GenerateEmailConfirmationTokenAsync(user.Id),并使用新生成的令牌发送电子邮件.不幸的是,当我这样做时,以前生成的令牌仍在工作,有没有办法撤销它们?
示例代码
在UserManager类中:
manager.UserTokenProvider = new DataProtectorTokenProvider<ApplicationUser>(options.DataProtectionProvider.Create("ASP.NET Identity"));
Run Code Online (Sandbox Code Playgroud)
在AccountController中:
var user = await UserManager.FindByEmailAsync("email");
// All generated tokens below will work to confirm the email.
// I only want the last token to be valid when confirming the email address.
var token1 = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
var token2 = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
var token3 = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
var token4 = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
var token5 = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
var result = await UserManager.ConfirmEmailAsync(user.Id, token5);
Run Code Online (Sandbox Code Playgroud)
还欢迎有关生成的令牌的存储位置以及如何生成这些令牌的信息!
如果您能将此信息发送给我,我将不胜感激.