public async Task <ActionResult> Disassociate(string loginProvider, string providerKey) { ManageMessageId?message = null; string userId = User.Identity.GetUserId(); if (await IdentityStore.RemoveLogin(User.Identity.GetUserId(), loginProvider, providerKey)) { message = ManageMessageId.RemoveLoginSuccess; } return(RedirectToAction("Manage", new { Message = message })); }
public async Task <IHttpActionResult> RemoveLogin(RemoveLoginBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if ((await IdentityStore.Context.Logins.GetLogins(User.Identity.GetUserId())).Count <= 1) { return(BadRequest("At least one login must remain for the account.")); } if (!await IdentityStore.RemoveLogin(User.Identity.GetUserId(), model.LoginProvider, model.ProviderKey)) { return(BadRequest("Failed to remove the login.")); } return(OK()); }