Как сделать 2-ую аутентификацию с помощью email и набора цифр (без ссылок)
public async Task<IActionResult> Register(RegisterModel model, string returnUrl = null)
{
ViewData["ReturnUrl"] = returnUrl;
if (ModelState.IsValid)
{
var user = new User { UserName = model.Email, Email = model.Email };
var result = await _userManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
// code = "AgvdHSD734BHD...Bd/jd..." а нужно "634973"
var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);
await _emailSender.SendEmailAsync(model.Email, "Ваш код подтверждения", code);
await _signInManager.SignInAsync(user, isPersistent: false);
return RedirectToAction("ConfirmEmail");
}
AddErrors(result);
}
return View(model);
}
В общем нужно, чтобы в email отправлялся код с подтверждение что то вроде "383534" а не куча непонятных символов.
Есть ли какой-то нормальный метод который генерирует токен c цифрами (токен должен быть на email).
Например, есть такой метод для Создания телефона вот он генерирует код. _userManager.GenerateChangePhoneNumberToken
Ответы (1 шт):
Автор решения: eduard.working
→ Ссылка
var code = await _userManager.GenerateTwoFactorTokenAsync(
user, TokenOptions.DefaultEmailProvider);
//TokenOptions.DefaultEmailProvider - "Email"
Генерируется маленький код подтверждения, например: "466546".