// TODO: move the localhost address to single place and use that so that we don't need to write it to a million places // This method gets called by the runtime. Use this method to add services to the container. // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940 public void ConfigureServices(IServiceCollection services) { // add MVC services.AddMvc(); // CORS services.AddCors(); // setup IdentityServer to use the in memory configurations services.AddIdentityServer() .AddDeveloperSigningCredential() .AddInMemoryIdentityResources(IdentityResourcesConfig.GetIdentityResources()) .AddInMemoryClients(ClientsConfig.GetClients()) .AddTestUsers(UsersConfig.GetUsers()); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { var isDemoMode = Configuration.GetValue <bool>("IsDemoMode"); var connectionString = Configuration.GetConnectionString("DefaultConnection"); // var migrationsAssembly = typeof(Startup).GetTypeInfo().Assembly.GetName().Name; services.AddTransient <IResourceOwnerPasswordValidator, ResourceOwnerPasswordValidator>() .AddTransient <IProfileService, LoginProfileService>() .AddTransient <IAuthRepository, AuthRepository>(); services.AddDbContext <LogInDbContext>(options => { if (isDemoMode) { options.UseInMemoryDatabase("IdentityServerDb"); } else { options.UseSqlServer(connectionString); } }); services.AddMvc(); if (isDemoMode) { services.AddIdentityServer() .AddInMemoryClients(ConfigForDemo.GetClients()) .AddInMemoryIdentityResources(ConfigForDemo.GetIdentityResources()) .AddInMemoryApiResources(ConfigForDemo.GetApiResources()) .AddTestUsers(ConfigForDemo.Get()) .AddInMemoryPersistedGrants() .AddDeveloperSigningCredential(); } else { services.AddIdentityServer() .AddInMemoryIdentityResources(IdentityResourcesConfig.GetIdentityResource()) .AddInMemoryApiResources(ApisConfig.GetApis()) .AddInMemoryClients(ClientConfig.GetClients()) ; } }