/// <summary> /// Deletes a login from a user in the UserLogins table /// </summary> /// <param name="user">User to have login deleted</param> /// <param name="login">Login to be deleted from user</param> /// <returns></returns> public async Task DeleteAsync(IdentityUser user, UserLoginInfo login) { AspNetUserLogins foundLogin = await _identityEntities.AspNetUserLogins.SingleOrDefaultAsync(userLogin => userLogin.UserId == user.Id && userLogin.LoginProvider == login.LoginProvider && userLogin.ProviderKey == login.ProviderKey); if (foundLogin != null) { _identityEntities.AspNetUserLogins.Remove(foundLogin); await _identityEntities.SaveChangesAsync(); } }
/// <summary> /// Adds a new login in the UserLogins table /// </summary> /// <param name="user">User to have new login added</param> /// <param name="login">Login to be added</param> /// <returns></returns> public async Task AddNewLoginAsync(IdentityUser user, UserLoginInfo login) { if (user != null && login != null) { _identityEntities.AspNetUserLogins.Add(new AspNetUserLogins { UserId = user.Id, LoginProvider = login.LoginProvider, ProviderKey = login.ProviderKey }); await _identityEntities.SaveChangesAsync(); } }
/// <summary> /// Deletes a claim from a user /// </summary> /// <param name="user">The user to have a claim deleted</param> /// <param name="claim">A claim to be deleted from user</param> /// <returns></returns> public async Task DeleteClaimAsync(IdentityUser user, Claim claim) { if (user != null && claim != null) { AspNetUserClaims foundClaim = await _identityEntities.AspNetUserClaims .SingleOrDefaultAsync(userClaim => userClaim.UserId == user.Id && userClaim.ClaimType == claim.Type && userClaim.ClaimValue == claim.Value); if (foundClaim != null) { _identityEntities.AspNetUserClaims.Remove(foundClaim); await _identityEntities.SaveChangesAsync(); } } }