Я генерирую двухфакторный OTP следующим образом
Код: Выделить всё
var token = await _userManager.GenerateTwoFactorTokenAsync(user, TokenOptions.DefaultEmailProvider);
Код: Выделить всё
var user = await _signInManager.GetTwoFactorAuthenticationUserAsync();
var signIn = await _signInManager.TwoFactorSignInAsync(TokenOptions.DefaultEmailProvider, code, false, false);
if (signIn.Succeeded)
{
// further code
}
Что меня устраивает.
Проблема в том, что даже по прошествии 3 минут новый OTP генерируется, когда я попробуйте последний OTP (который, как предполагается, истек, и именно поэтому генерируется новый OTP), также работает и позволяет пользователю войти в систему.
Это поведение совершенно неправильно, как только новый OTP Генерируется OTP, старые никогда не должны работать.
Может ли кто-нибудь подсказать мне, делаю ли я что-то не так в своем коде или есть ли способ исправить это поведение?
Подробнее здесь: https://stackoverflow.com/questions/789 ... ng-validat