コード例 #1
0
        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);
            }
        }
コード例 #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();
            }
        }