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); } }
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(); } }