/// <summary> /// Remove associated login by LoginProvider and ProviderKey /// </summary> /// <param name="request">Instance of RemoveLoginRequest</param> /// <returns>Instance of RemoveLoginResponse</returns> public async Task <RemoveLoginResponse> RemoveLoginAsync(RemoveLoginRequest request) { RemoveLoginResponse response = new RemoveLoginResponse(); try { IdentityResult result = await UserManager.RemoveLoginAsync(request.UserId.ToString(), new UserLoginInfo(request.LoginProvider, request.ProviderKey)); if (!result.Succeeded) { response.AddErrors(response.Errors); response.Success = false; } else { response.Success = true; } } catch (Exception e) { response.Success = false; response.Errors.Add(e.Message); } return(response); }
public async Task <ActionResult> Disassociate(string loginProvider, string providerKey) { ManageMessageId? message = null; RemoveLoginResponse response = await this.Membership.RemoveLoginAsync(new RemoveLoginRequest() { UserId = new Guid(User.Identity.GetUserId()), LoginProvider = loginProvider, ProviderKey = providerKey }); if (response.Success) { message = ManageMessageId.RemoveLoginSuccess; } else { message = ManageMessageId.Error; } return(RedirectToAction("Manage", new { Message = message })); }
/// <summary> /// Remove associated login by LoginProvider and ProviderKey /// </summary> /// <param name="request">Instance of RemoveLoginRequest</param> /// <returns>Instance of RemoveLoginResponse</returns> public async Task<RemoveLoginResponse> RemoveLoginAsync(RemoveLoginRequest request) { RemoveLoginResponse response = new RemoveLoginResponse(); try { IdentityResult result = await UserManager.RemoveLoginAsync(request.UserId.ToString(), new UserLoginInfo(request.LoginProvider, request.ProviderKey)); if (!result.Succeeded) { response.AddErrors(response.Errors); response.Success = false; } else { response.Success = true; } } catch (Exception e) { response.Success = false; response.Errors.Add(e.Message); } return response; }