public override void ViewDidLoad() { base.ViewDidLoad(); Auth = new AuthenticatorVM(this); var authenticator = Auth.GetAuthenticator(); var authenticatorUI = authenticator.GetUI(); PresentViewController(authenticatorUI, true, null); }
public async Task <VerifyState> VerifyAsync(AuthenticatorVM model, string userName) { VerifyState verifyState = new VerifyState(); AppUser user = await _userManager.FindByNameAsync(userName); verifyState.State = await _userManager.VerifyTwoFactorTokenAsync(user, _userManager.Options.Tokens.AuthenticatorTokenProvider, model.VerificationCode); verifyState.RecoveryCodes = (await _userManager.GenerateNewTwoFactorRecoveryCodesAsync(user, 5)).ToList(); if (verifyState.State) { user.TwoFactorEnabled = true; await _userManager.UpdateAsync(user); } return(verifyState); }
protected override void OnCreate(Bundle savedInstanceState) { TabLayoutResource = Resource.Layout.Tabbar; ToolbarResource = Resource.Layout.Toolbar; base.OnCreate(savedInstanceState); Xamarin.Essentials.Platform.Init(this, savedInstanceState); global::Xamarin.Forms.Forms.Init(this, savedInstanceState); Auth = new AuthenticatorVM(this); var authenticator = Auth.GetAuthenticator(); var authenticatorUI = authenticator.GetUI(this); StartActivity(authenticatorUI); }
public async Task <IActionResult> AuthenticatorVerify(AuthenticatorVM model) { VerifyState verifyState = await _authenticatorService.VerifyAsync(model, User.Identity.Name); AppUser user = await _userManager.FindByNameAsync(User.Identity.Name); user.TwoFactorType = Entities.Enums.TwoFactorType.Authenticator; await _userManager.UpdateAsync(user); await _userManager.UpdateSecurityStampAsync(user); await _signInManager.RefreshSignInAsync(user); string kurtarmaKodlari = ""; foreach (var code in verifyState.RecoveryCodes) { kurtarmaKodlari += code + ","; } MesajYaz(verifyState.State, "Authenticator ile doğrulama başarıyla onaylanmıştır. <br> Lütfen olası telefonu çaldırma ya da bozulma ihtimaline karşı şu kurtarma kodlarını lütfen kaydediniz : " + kurtarmaKodlari, "Doğrulama kodu yanlış! Lütfen doğrulama kodunu kontrol ediniz."); return(View(model)); }