Exemple #1
0
        public void AddSecret(string resourceName, Secret secret)
        {
            var apiResource = GetResourceByName(resourceName);
            var entity      = Mapper.Map <ApiSecret>(secret);

            apiResource.Secrets.Add(entity);
        }
Exemple #2
0
        public void RemoveSecret(string resourceName, Secret secret)
        {
            var client = GetResourceByName(resourceName);

            client.Secrets.RemoveAll(r => r.Type == secret.Type && r.Value == secret.Value);

            DbSet.Update(client);
        }
Exemple #3
0
        private IdentityServer4.EntityFramework.Entities.Client MapBllToDal(SharedModels.Client client)
        {
            IdentityServer4.Models.Client clientModelIds4 = new IdentityServer4.Models.Client();

            clientModelIds4.ClientName            = client.ClientName;
            clientModelIds4.ClientUri             = client.ClientUri;
            clientModelIds4.ClientId              = client.ClientId;
            clientModelIds4.FrontChannelLogoutUri = client.FrontChannelLogoutUrl;

            if (client.ClientSecret != null)
            {
                IdentityServer4.Models.Secret secret = new IdentityServer4.Models.Secret(client.ClientSecret.Sha256());
                secret.Type = "SharedSecret";
                clientModelIds4.ClientSecrets = new List <IdentityServer4.Models.Secret>();
                clientModelIds4.ClientSecrets.Add(secret);
            }


            clientModelIds4.AllowedGrantTypes = new List <string>();
            client.GrantType = client.GrantType.Replace(" ", "_");
            clientModelIds4.AllowedGrantTypes.Add(client.GrantType);

            if (client.ClientProperty != null)
            {
                string key = "ApplicationType";
                clientModelIds4.Properties = new Dictionary <string, string>();
                clientModelIds4.Properties.Add(key, client.ClientProperty);
            }

            clientModelIds4.AllowedScopes = new List <string>();
            foreach (string scope in client.AllowedScopes)
            {
                var replacedScope = scope.Replace(" ", "_");
                clientModelIds4.AllowedScopes.Add(replacedScope);
            }

            clientModelIds4.RedirectUris = new List <string>();
            foreach (string redirctUri in client.RedirectUrls)
            {
                clientModelIds4.RedirectUris.Add(redirctUri);
            }

            clientModelIds4.PostLogoutRedirectUris = new List <string>();
            clientModelIds4.PostLogoutRedirectUris.Add(client.PostLogoutUrl);

            return(clientModelIds4.ToEntity());
        }