public async Task <IHttpActionResult> RemoveLogin(RemoveLoginModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } IdentityResult result; if (model.LoginProvider == LocalLoginProvider) { result = await UserManager.RemovePasswordAsync(User.Identity.GetUserId()); } else { result = await UserManager.RemoveLoginAsync(User.Identity.GetUserId(), new UserLoginInfo(model.LoginProvider, model.ProviderKey)); } if (!result.Succeeded) { return(GetErrorResult(result)); } return(Ok()); }
public async Task <IdentityResult> RemoveLogin(IPrincipal user, RemoveLoginModel model) { if (model.LoginProvider == LocalLoginProvider) { return(await UserManager.RemovePasswordAsync(user.Identity.GetUserId())); } return(await UserManager.RemoveLoginAsync(user.Identity.GetUserId(), new UserLoginInfo(model.LoginProvider, model.ProviderKey))); }
public async Task <IHttpActionResult> RemoveLogin(RemoveLoginModel model) { IdentityResult result; if (model.LoginProvider == LocalLoginProvider) { result = await _userManager.RemovePasswordAsync(User.Identity.GetUserId()); } else { result = await _userManager.RemoveLoginAsync(User.Identity.GetUserId(), new UserLoginInfo(model.LoginProvider, model.ProviderKey)); } var errorResult = GetErrorResult(result); return(errorResult ?? Ok("External Login removed")); }
public async Task <IActionResult> RemoveLogin(RemoveLoginModel account) { ManageMessageId?message = ManageMessageId.Error; var user = await GetCurrentUserAsync(); if (user != null) { var result = await _userManager.RemoveLoginAsync(user, account.LoginProvider, account.ProviderKey); if (result.Succeeded) { await _signInManager.SignInAsync(user, isPersistent : false); message = ManageMessageId.RemoveLoginSuccess; } } return(RedirectToAction(nameof(ManageLogins), new { Message = message })); }
public async Task <IActionResult> RemoveLogin([FromBody] RemoveLoginModel model) { var user = await _userRepository.GetUserById(HttpContext.User.Identity.Name); if (user == null) { return(_responseService.GenerateResponse(HttpStatusCode.NotFound, "User could not be found.")); } var login = user.Logins.FirstOrDefault(a => a.Provider == model.Provider && a.ExternalId == model.ExternalId); if (login != null) { user.Logins.Remove(login); await _userRepository.UpdateUser(user); } return(_responseService.GenerateResponse(HttpStatusCode.OK, $"{model.Provider} login removed.")); }
public async Task <IActionResult> RemoveLogin(RemoveLoginModel model) { var user = await _userManager.GetUserAsync(User); if (user == null) { throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'."); } var result = await _userManager.RemoveLoginAsync(user, model.LoginProvider, model.ProviderKey); if (!result.Succeeded) { throw new ApplicationException($"Unexpected error occurred removing external login for user with ID '{user.Id}'."); } await _signInManager.SignInAsync(user, isPersistent : false); StatusMessage = "The external login was removed."; return(RedirectToAction(nameof(ExternalLogins))); }
public async Task <IActionResult> RemoveLogin(string username, RemoveLoginModel model) { var user = await GetUserAsync(); if (!user.HasUserName(username)) { return(NotFound()); } var result = await UserManager.RemoveLoginAsync(user, model.LoginProvider, model.ProviderKey); if (!result.Succeeded) { throw new ApplicationException($"Unexpected error occurred removing external login for user with ID '{user.Id}'."); } await SignInManager.SignInAsync(user, isPersistent : false); StatusMessage = "The external login was removed."; return(RedirectToAction(nameof(ExternalLogins))); }
public async Task<IHttpActionResult> RemoveLogin(RemoveLoginModel model) { return await RunTask(() => AccountManager.RemoveLogin(User, model)); }
public async Task <IHttpActionResult> RemoveLogin(RemoveLoginModel model) { return(Ok()); }
public async Task <IHttpActionResult> RemoveLogin(RemoveLoginModel model) { return(await RunTask(() => AccountManager.RemoveLogin(User, model))); }