Мой код очень прост< /p>
Чтобы создать токен
EmailVerificationCode = await userManager.GenerateEmailConfirmationTokenAsync(user);
EmailVerificationHTMLFormatCode = HttpUtility.UrlEncode(EmailVerificationCode);
Для проверки токена
var result = await userManager.ConfirmEmailAsync(user, code);
Я всегда получаю ошибку INVALID TOKEN.
То, что я пробовал
< ol>
[*]Проверка сгенерированного токена и полученного токена для проверки путем помещения их в базу данных, они абсолютно одинаковы.
[*]Пробовал использовать HttpUtility.UrlDecode(Code) для декодирования токена на принимающей стороне
[*]Пытался просто использовать токен RAW без HttpUtility.UrlEncode для его проверки
Я также использовал следующие решения:
- Asp.net 2.0 Identity, ConfirmEmailAsync() получает неверный токен
- Неверный токен. при проверке кода подтверждения электронной почты с помощью UserManager.ConfirmEmailAsync(user.Id, code)
- AspNet.Identit 2.1.0 ConfirmEmailAsync всегда возвращает неверный токен
- Asp .NET Identity 2 выдает ошибку «Неверный токен».
Есть идеи, что я делаю не так?
Изменить. Если это поможет, мой файл Startup.cs имеет следующие конфигурации удостоверений
// For Identity
services.AddIdentity(o =>
{
// configure identity options
o.Password.RequireDigit = false;
o.Password.RequireLowercase = false;
o.Password.RequireUppercase = false;
o.Password.RequireNonAlphanumeric = false;
o.Password.RequiredLength = 6;
})
.AddEntityFrameworkStores()
.AddDefaultTokenProviders();
Источник: https://stackoverflow.com/questions/679 ... atter-what