Я использую последний образец кода для MVC5.2 с аутентификацией Asp.Identity и Two Factor.
С включенным 2FA, когда пользователь входит в систему, запрос запрашивает код (отправляется по телефону или электронной почте), и у них есть опция "Запомнить браузер" - так, чтобы они не запрашивали коды снова в этом браузере.
Это выполняется в действии VerifyCode
var result = await SignInManager.TwoFactorSignInAsync(model.Provider, model.Code, isPersistent: model.RememberMe, rememberBrowser: model.RememberBrowser);
Обратите внимание, что model.RememberMe
не используется в шаблонах по умолчанию, поэтому он является ложным.
Я нахожу, когда я делаю это .AspNet.TwoFactorRememberBrowser
, который получает значение, заканчивается на конце сеанса (поэтому он не помнит браузер)
Теперь, если я устанавливаю isPersistent = true
, .AspNet.TwoFactorRememberBrowser
получает истечение 30 дней, что отлично, но .AspNet.ApplicationCookie
также получает истечение 30 дней - это означает, что когда я закрываю браузер и снова открываю, я я автоматически вошел в систему.
Я хочу, чтобы он не сохранял мой логин, но он сохранит мой выбор запоминания кода 2FA. Т.е. пользователю всегда нужно входить в систему, но им не следует запрашивать код 2fa, если он уже сохранил его.
Кто-нибудь еще видел это, или я чего-то не хватает?