public async Task <ActionResult> VerifyCode(string provider, string returnUrl, bool rememberMe, bool?checkingOut) { // Require that the user has already logged in via username/password or external login if (!await SignInManager.HasBeenVerifiedAsync()) { return(HttpBadRequest("VerifyCode SignInManager.HasBeenVerifiedAsync call failed")); } var user = await UserManager.FindByIdAsync(await SignInManager.GetVerifiedUserIdAsync()); if (user != null) { var code = await UserManager.GenerateTwoFactorTokenAsync(user.Id, provider); } return(View(new VerifyCodeViewModel { Provider = provider, ReturnUrl = returnUrl, RememberMe = rememberMe, CheckingOut = checkingOut })); }
public async Task <ActionResult> RemoveLogin(string loginProvider, string providerKey) { ProfileMessageId?message; var result = await UserManager.RemoveLoginAsync(User.Identity.GetUserId(), new UserLoginInfo(loginProvider, providerKey)); if (result.Succeeded) { var user = await UserManager.FindByIdAsync(User.Identity.GetUserId()); if (user != null) { await SignInAsync(user, isPersistent : false); } message = ProfileMessageId.RemoveLoginSuccess; } else { message = ProfileMessageId.Error; } return(RedirectToAction("Logins", new { Message = message })); }