public async Task <IActionResult> MFASetup() { const string provider = "aspnetidentity"; var user = await _userManager.GetUserAsync(User); //gives instance of currently logged in user await _userManager.ResetAuthenticatorKeyAsync(user); //reset before generating a token var token = await _userManager.GetAuthenticatorKeyAsync(user); var qrCodeUrl = $"otpauth://totp/{provider}:{user.Email}?secret={token}&issuer={provider}&digits=6"; var model = new MFAViewModel { Token = token, QRCodeUrl = qrCodeUrl }; return(View(model)); }
public async Task <IActionResult> MfaConfiguration() { const string provider = "aspnetidentity"; var user = await _userManager.GetUserAsync(User); await _userManager.ResetAuthenticatorKeyAsync(user); var token = await _userManager.GetAuthenticatorKeyAsync(user); var qrCodeUrl = $"otpauth://totp/{provider}:{user.Email}?secret={token}&issuer={provider}&digits=6"; var mfa = new MFAViewModel { MfaToken = token, QrCodeUrl = qrCodeUrl }; return(View(mfa)); }
public async Task <IActionResult> MFASetup() { const string provider = "aspnetidentity"; var user = await _userManager.GetUserAsync(User); // Sayfa her yenilendiğinde resetleyip yeniden oluşturmalıyız. await _userManager.ResetAuthenticatorKeyAsync(user); var token = await _userManager.GetAuthenticatorKeyAsync(user); var qrCodeUrl = $"otpauth://totp/{provider}:{user.Email}?secret={token}&issuer={provider}&digit=6"; var model = new MFAViewModel { Token = token, QRCodeUrl = qrCodeUrl }; return(View(model)); }
public async Task <IActionResult> MFASetup(MFAViewModel model) { if (ModelState.IsValid) { var user = await _userManager.GetUserAsync(User); var succeeded = await _userManager.VerifyTwoFactorTokenAsync(user, _userManager.Options.Tokens.AuthenticatorTokenProvider, model.Code); if (succeeded) { await _userManager.SetTwoFactorEnabledAsync(user, true); //enable two factor authentication } else { ModelState.AddModelError("Verify", "Your MFA code could not be validated."); } } return(View(model)); }
public async Task <IActionResult> MfaConfiguration(MFAViewModel mfa) { if (ModelState.IsValid) { var user = await _userManager.GetUserAsync(User); var result = await _userManager.VerifyTwoFactorTokenAsync(user, _userManager.Options.Tokens.AuthenticatorTokenProvider, mfa.MfaCode); if (result) { var auth = await _userManager.SetTwoFactorEnabledAsync(user, true); return(RedirectToAction("Index", "Home")); } else { ModelState.AddModelError("Validate", "Your MFA code is invalid"); } } return(View(mfa)); }