Неверный токен при попытке подтвердить электронную почту, удостоверение ASP .NET Core 6C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Неверный токен при попытке подтвердить электронную почту, удостоверение ASP .NET Core 6

Сообщение Anonymous »

Я пытаюсь подтвердить электронную почту в ASP.Net Core 6.
Я использую userManager.ConfirmEmailAsync для подтверждения электронной почты, которую хочу проверить.
Недавно я сбросил настройки кодировку токена подтверждения, даже если я его удалю, я все равно получу недействительный токен.
Вот как я создал токен для подтверждения

Код: Выделить всё

var token = await _userManager.GenerateEmailConfirmationTokenAsync(newUser);
var confirmationLink = Url.Link("email-confirmation", new { token, inputUserModel.EmailUser });
И это для получения токена

Код: Выделить всё

        [HttpPost]
[AllowAnonymous]
[Route("ConfirmEmail")]
public async Task ConfirmEmail(string token, string email)
{
if (token == null || email == null) return StatusCode(406, new { message = "You need to provide the informations", DateTime.Now });

var emailController = new EmailAddressAttribute();

if (!emailController.IsValid(email)) return StatusCode(406, new { message = "The information provided is not an email address.", DateTime.Now });

var user = await _userManager.FindByEmailAsync(email);

if (user == null) return NotFound( new { message = "The email you provide is not assigned to any users.", DateTime.Now });

if (await _userManager.IsEmailConfirmedAsync(user)) return StatusCode(401, new { message = "Your email is already confirmed", DateTime.Now });

var result = await _userManager.ConfirmEmailAsync(user, token);

if (result.Succeeded)
{
user.EmailConfirmed = true;
await _userManager.UpdateAsync(user);
}

return (result.Succeeded ? Ok(new { message = $"the {_dataHelper.CriptEmail(email)} is been confirmed.", DateTime.Now }) : NotFound(new { message = "The token you provide was not found.", DateTime.Now }));
}

Скажите, если вам нужно что-то еще.
P.S. _dataHelper.CriptEmail это созданный мною метод для мягкого кодирования электронной почты, что-то вроде (an\*\*\*\*@gmail.com)
Я ожидаю, что подтверждение сработает при правильном предложении.
Любая помощь принимается :)

Подробнее здесь: https://stackoverflow.com/questions/743 ... 6-identity
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»