public static async Task Run(IServiceProvider serviceProvider)
        {
            using (var serviceScope = serviceProvider.GetService <IServiceScopeFactory>().CreateScope())
            {
                serviceScope.ServiceProvider.GetRequiredService <PersistedGrantDbContext>().Database.Migrate();
                serviceScope.ServiceProvider.GetRequiredService <ConfigurationDbContext>().Database.Migrate();

                var context = serviceScope.ServiceProvider.GetRequiredService <ConfigurationDbContext>();
                foreach (var resource in IdentityServerSeeder.GetIdentityResources())
                {
                    await context.IdentityResources.AddAsync(resource.ToEntity());
                }

                foreach (var resource in IdentityServerSeeder.GetApiResources())
                {
                    await context.ApiResources.AddAsync(resource.ToEntity());
                }

                foreach (var client in IdentityServerSeeder.GetClients())
                {
                    await context.Clients.AddAsync(client.ToEntity());
                }

                await context.SaveChangesAsync();

                // migrate the data for our identity server
                var identityServerContext = serviceScope.ServiceProvider.GetRequiredService <IdentityServerDbContext>();
                identityServerContext.Database.Migrate();

                await UserSeeder.Seed(identityServerContext);
            }
        }
Exemplo n.º 2
0
        private static async Task InitializeIdentityServerData()
        {
            using (var serviceScope = _serviceProvider.GetService <IServiceScopeFactory>().CreateScope())
            {
                serviceScope.ServiceProvider.GetRequiredService <PersistedGrantDbContext>().Database.Migrate();
                serviceScope.ServiceProvider.GetRequiredService <ConfigurationDbContext>().Database.Migrate();

                var context = serviceScope.ServiceProvider.GetRequiredService <ConfigurationDbContext>();
                foreach (var resource in IdentityServerSeeder.GetIdentityResources())
                {
                    await context.IdentityResources.AddAsync(resource.ToEntity());
                }

                foreach (var resource in IdentityServerSeeder.GetApiResources())
                {
                    await context.ApiResources.AddAsync(resource.ToEntity());
                }

                foreach (var client in IdentityServerSeeder.GetClients())
                {
                    await context.Clients.AddAsync(client.ToEntity());
                }

                await context.SaveChangesAsync();
            }
        }
Exemplo n.º 3
0
        public static void Main(string[] args)
        {
            var host = CreateWebHostBuilder(args).Build();

            using (var scope = host.Services.CreateScope())
            {
                var services           = scope.ServiceProvider;
                var hostingEnvironment = services.GetService <IHostingEnvironment>();

                if (hostingEnvironment.IsDevelopment())
                {
                    IdentityServerSeeder.SeedConfigurationData(services.GetRequiredService <ConfigurationDbContext>());
                }
            }

            host.Run();
        }