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();
    }
Ejemplo n.º 3
0
 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
         }
     }
 }
Ejemplo n.º 4
0
 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
         }
     }
 }