public void CanMapIdentityResources() { var model = new Duende.IdentityServer.Models.IdentityResource(); var mappedEntity = model.ToEntity(); var mappedModel = mappedEntity.ToModel(); Assert.NotNull(mappedModel); Assert.NotNull(mappedEntity); }
public async Task CreateAsync(IdentityScopeModel model) { var scope = new Duende.IdentityServer.Models.IdentityResource() { Name = model.Name, DisplayName = model.DisplayName?.Trim() }; var claims = model.UserClaims?.Split(' ', StringSplitOptions.RemoveEmptyEntries).ToArray() ?? Enumerable.Empty <string>(); if (claims.Any()) { scope.UserClaims = claims.ToList(); } _context.IdentityResources.Add(scope.ToEntity()); await _context.SaveChangesAsync(); }
private static void SeedIdentityClaims(IAdminStore <Entity.IdentityClaim> identityClaimStore, ISModels.IdentityResource resource) { foreach (var claim in resource.UserClaims) { try { identityClaimStore.CreateAsync(new Entity.IdentityClaim { Id = Guid.NewGuid().ToString(), IdentityId = resource.Name, Type = claim }).GetAwaiter().GetResult(); } catch (ArgumentException) { // silent } } }
private static void SeedIdentityProperties(IAdminStore <Entity.IdentityProperty> identityPropertyStore, ISModels.IdentityResource resource) { foreach (var property in resource.Properties) { try { identityPropertyStore.CreateAsync(new Entity.IdentityProperty { Id = Guid.NewGuid().ToString(), IdentityId = resource.Name, Key = property.Key, Value = property.Value }).GetAwaiter().GetResult(); } catch (ArgumentException) { // silent } } }