Пример #1
0
        private static void SeedIdentityServerConfigurationDb()
        {
            var factory = new ConfigurationDbContextFactory();
            var context = factory.Create(new DbContextFactoryOptions
            {
                EnvironmentName = "Dev"
            });

            if (!context.Clients.Any())
            {
                foreach (var client in ClientStore.Clients)
                {
                    context.Clients.Add(client.ToEntity());
                }
                context.SaveChanges();
            }

            if (!context.IdentityResources.Any())
            {
                foreach (var resource in ResourceStore.GetIdentityResources())
                {
                    context.IdentityResources.Add(resource.ToEntity());
                }
                context.SaveChanges();
            }

            if (!context.ApiResources.Any())
            {
                foreach (var resource in ResourceStore.GetApiResources())
                {
                    context.ApiResources.Add(resource.ToEntity());
                }
                context.SaveChanges();
            }
        }
Пример #2
0
        public static void Main(string[] args)
        {
            var factory = new ConfigurationDbContextFactory();
            var context = factory.Create(new DbContextFactoryOptions
            {
                EnvironmentName = "Dev"
            });

            if (!context.Clients.Any())
            {
                foreach (var client in ClientStore.Clients)
                {
                    context.Clients.Add(client.ToEntity());
                }
                context.SaveChanges();
            }

            if (!context.IdentityResources.Any())
            {
                foreach (var resource in ResourceProvider.GetIdentityResources())
                {
                    context.IdentityResources.Add(resource.ToEntity());
                }
                context.SaveChanges();
            }

            if (!context.ApiResources.Any())
            {
                foreach (var resource in ResourceProvider.GetApiResources())
                {
                    context.ApiResources.Add(resource.ToEntity());
                }
                context.SaveChanges();
            }
        }
Пример #3
0
        public void SeedClientsDataToContextIfEmpty(IClientsConfigData clientsConfig)
        {
            // Damned hack for ConfigurationDbContextFactory!
            DbConnectionSwitcher.SingleDbConnectionKey = "Ids4.TargetDbConnection";

            using (ConfigurationDbContext context = new ConfigurationDbContextFactory(_configuration)
                                                    .CreateDbContext(Array.Empty <string>()))
            {
                // Clients
                if (!context.Clients.Any())
                {
                    Console.WriteLine("Clients being populated");

                    foreach (var client in clientsConfig.GetClients().ToList())
                    {
                        context.Clients.Add(client.ToEntity());
                    }

                    context.SaveChanges();
                }
                else
                {
                    Console.WriteLine("Clients already populated");
                }

                // IdentityResources
                if (!context.IdentityResources.Any())
                {
                    Console.WriteLine("IdentityResources being populated");
                    foreach (var resource in clientsConfig.GetIdentityResources().ToList())
                    {
                        context.IdentityResources.Add(resource.ToEntity());
                    }

                    context.SaveChanges();
                }
                else
                {
                    Console.WriteLine("IdentityResources already populated");
                }

                // ApiResources
                if (!context.ApiResources.Any())
                {
                    Console.WriteLine("ApiResources being populated");
                    foreach (var resource in clientsConfig.GetApiResources().ToList())
                    {
                        context.ApiResources.Add(resource.ToEntity());
                    }

                    context.SaveChanges();
                }
                else
                {
                    Console.WriteLine("ApiResources already populated");
                }
            }
        }
Пример #4
0
        public void SeedAdminClient(IClientsConfigData clientsConfig)
        {
            // Damned hack for ConfigurationDbContextFactory!
            DbConnectionSwitcher.SingleDbConnectionKey = "Ids4.TargetDbConnection";

            using (ConfigurationDbContext ctx = new ConfigurationDbContextFactory(_configuration)
                                                .CreateDbContext(Array.Empty <string>()))
            {
                var adminClient = clientsConfig.GetClients()
                                  .First(x => x.ClientName == AdminPortalConsts.OidcClientId);

                ctx.Clients.Add(adminClient.ToEntity());
                ctx.SaveChanges();
            }
        }