using LSP.Services.Identity; using LSP.Services.Identity.DbContexts; using LSP.Services.Identity.Initializer; using LSP.Services.Identity.Models; using Microsoft.AspNetCore.Identity; using Microsoft.EntityFrameworkCore; var builder = WebApplication.CreateBuilder(args); var Configuration = new ConfigurationBuilder() .AddJsonFile("appsettings.json", optional: false) .Build(); void Init(IDefaultAccountInit init) { init.Initialize(); } // Add services to the container. builder.Services.AddControllersWithViews(); builder.Services.AddIdentity() .AddEntityFrameworkStores() .AddDefaultTokenProviders(); builder.Services.AddScoped(); builder.Services.AddIdentityServer(options => { options.Events.RaiseErrorEvents = true; options.Events.RaiseFailureEvents = true; options.Events.RaiseInformationEvents = true; options.Events.RaiseSuccessEvents = true; options.EmitStaticAudienceClaim = true; }).AddInMemoryIdentityResources(ServiceDetail.IdentityResources) .AddInMemoryApiScopes(ServiceDetail.ApiScopes) .AddInMemoryClients(ServiceDetail.Clients) .AddAspNetIdentity() .AddDeveloperSigningCredential(); // TODO: Change connection string // Config DB Connection builder.Services.AddDbContext(options => options.UseNpgsql(Configuration.GetConnectionString("DefaultConnection"))); var app = builder.Build(); // Configure the HTTP request pipeline. if (app.Environment.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Home/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseIdentityServer(); app.UseAuthorization(); app.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); app.Run();