Ejemplo n.º 1
0
 private void InitializeIdentityServerDatabase(IApplicationBuilder app)
 {
     using (var serviceScope = app.ApplicationServices.GetService <IServiceScopeFactory>().CreateScope())
     {
         serviceScope.ServiceProvider.GetRequiredService <PersistedGrantDbContext>().Database.Migrate();
         var context = serviceScope.ServiceProvider.GetRequiredService <ConfigurationDbContext>();
         context.Database.Migrate();
         if (!context.Clients.Any())
         {
             foreach (IdentityServer4.Models.Client client in IS4Config.GetClients())
             {
                 context.Clients.Add(client.ToEntity());
             }
             context.SaveChanges();
         }
         if (!context.IdentityResources.Any())
         {
             foreach (IdentityServer4.Models.IdentityResource resource in IS4Config.IdentityResources())
             {
                 context.IdentityResources.Add(resource.ToEntity());
             }
             context.SaveChanges();
         }
         if (!context.ApiResources.Any())
         {
             foreach (var resource in IS4Config.GetAllApiResources())
             {
                 context.ApiResources.Add(resource.ToEntity());
             }
             context.SaveChanges();
         }
     }
 }