Chr*_*uer 5 asp.net asp.net-identity
我正在使用此代码生成密码重置链接:
private async Task<string> GetNewEmailConfirmationLink(ApplicationUser user)
{
var code = await this.UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
var callbackUrl = Url.Action(
"ConfirmEmail",
"Account",
new { userId = user.Id, code = code },
protocol: Request.Url.Scheme);
return callbackUrl;
}
Run Code Online (Sandbox Code Playgroud)
原则上,这段代码工作得很好 - 但生成的链接非常长。虽然安全,但有时需要复制粘贴此链接等,然后它的长度往往会导致错误(忘记元素等)。有没有办法缩短这个?
我想到有两种方法可以实现这一目标。
一是缩短生成的代码本身。这意味着您提供一个较短的版本(从原始代码生成)并将其用于所有用户交互。在确认用户的电子邮件地址之前,您将链接转换为其原始表示形式。
另一种选择是实现IUserTokeProvider创建您自己的令牌。