public async Task RemoveLoginAsync(ApplicationUser user, string loginProvider, string providerKey, CancellationToken cancellationToken) { if (user == null) { throw new ArgumentNullException(nameof(user)); } if (string.IsNullOrEmpty(loginProvider)) { throw new ArgumentNullException(nameof(loginProvider), "Null or empty"); } if (string.IsNullOrEmpty(providerKey)) { throw new ArgumentNullException(nameof(providerKey), "Null or empty"); } try { await RemoveAllTokensAsync(user, loginProvider, cancellationToken); var userLoginEntity = new IdentityUserLoginEntity(loginProvider, providerKey, user.Id); await _appDb.GenericRepository.DeleteEntityAsync(userLoginEntity, cancellationToken); } catch (Exception e) { var msg = $"LoginInfo for provider '{loginProvider}' and user id '{user.Id}' could not be removed"; _logger.LogError(msg, e); throw; } }
public virtual void CanAddAndFindByUserId() { using (var uow = DataService.StartUnitOfWork()) { var user = new IdentityUserEntity { Identifier = Guid.NewGuid(), Name = "Achim Schnell", NormalizedName = "ACHIM SCHNELL", Email = "*****@*****.**", NormalizedEmail = "*****@*****.**", AccessFailedCount = 0, ApplicationId = 0, EmailConfirmed = true, IsAnonymous = false, LastActivityDate = DateTime.Now }; uow.UserRepository.Add(user); var login = new IdentityUserLoginEntity { UserId = user.Identifier, ProviderName = "Google", ProviderKey = "MyKey", ProviderDisplayName = null }; uow.LoginRepository.Add(login); Assert.AreEqual(login.ProviderKey, uow.LoginRepository.FindByUserId(user.Identifier).Single().ProviderKey); } }
public async Task AddLoginAsync(ApplicationUser user, UserLoginInfo login, CancellationToken cancellationToken) { if (user == null) { throw new ArgumentNullException(nameof(user)); } if (login == null) { throw new ArgumentNullException(nameof(login)); } try { var userLoginEntity = new IdentityUserLoginEntity(login.LoginProvider, login.ProviderKey, user.Id) { ProviderDisplayName = login.ProviderDisplayName }; await _appDb.GenericRepository.SaveEntityAsync(userLoginEntity, true, false, cancellationToken); } catch (Exception e) { var msg = $"LoginInfo for provider '{login.LoginProvider}' and user id '{user.Id}' could not be added"; _logger.LogError(msg, e); throw; } }