public async Task AddRedirectUrisIfNotExists(string clientId, string postLogoutRedirectUri, params string[] redirectUris) { var exists = await _securityRepository.Exists <ClientPostLogoutRedirectUri>(u => u.Client.ClientId == clientId && u.Uri == postLogoutRedirectUri); if (exists) { Log(true, nameof(ClientPostLogoutRedirectUri), postLogoutRedirectUri, nameof(Client), clientId); } else { Log(false, nameof(ClientPostLogoutRedirectUri), postLogoutRedirectUri, nameof(Client), clientId); await _securityRepository.AddPostLogoutRedirectUri(CreatePostLogoutRedirectUri(postLogoutRedirectUri), clientId); } foreach (var uri in redirectUris) { exists = await _securityRepository.Exists <ClientRedirectUri>(u => u.Client.ClientId == clientId && u.Uri == uri); if (exists) { Log(true, nameof(ClientRedirectUri), uri, nameof(Client), clientId); } else { Log(false, nameof(ClientRedirectUri), uri, nameof(Client), clientId); await _securityRepository.AddRedirectUri(CreateRedirectUri(uri), clientId); } } }