public void ConfigureServices(IServiceCollection services) { EsquioUIApiConfiguration.ConfigureServices(services, _configuration) .AddSingleton <IDiscoverToggleTypesService, DiscoverToggleTypesService>() .AddAuthorization() .AddAuthentication(setup => { setup.DefaultAuthenticateScheme = "secured"; setup.DefaultChallengeScheme = "secured"; }) .AddApiKey() .AddTestServer() .AddPolicyScheme("secured", "Authorization TestServer or ApiKey", options => { options.ForwardDefaultSelector = context => { var apiKey = context.Request.Headers["X-Api-Key"].FirstOrDefault(); if (apiKey != null) { return(ApiKeyAuthenticationDefaults.ApiKeyScheme); } return(TestServerDefaults.AuthenticationScheme); }; }) .Services .AddEntityFramework(_configuration, Environment); }
public void ConfigureServices(IServiceCollection services) { EsquioUIApiConfiguration.ConfigureServices(services) .AddSingleton <IDiscoverToggleTypesService, DiscoverToggleTypesService>() .AddAuthorization() .AddAuthentication(setup => { setup.DefaultAuthenticateScheme = "secured"; setup.DefaultChallengeScheme = "secured"; }) .AddApiKey() .AddTestServer() .AddPolicyScheme("secured", "Authorization TestServer or ApiKey", options => { options.ForwardDefaultSelector = context => { var apiKey = context.Request.Headers["X-Api-Key"].FirstOrDefault(); if (apiKey != null) { return(ApiKeyAuthenticationDefaults.ApiKeyScheme); } return(TestServerDefaults.AuthenticationScheme);; }; }) .Services .AddDbContext <StoreDbContext>(setup => { setup.UseSqlServer(_configuration.GetConnectionString("Esquio"), opt => { opt.MigrationsAssembly(typeof(ServerFixture).Assembly.FullName); }); }); }
public void ConfigureServices(IServiceCollection services) { services .AddHttpClient() .AddCors() .AddTransient <IConfigureOptions <SwaggerGenOptions>, ConfigureSwaggerGenOptions>() .AddSingleton <IDiscoverToggleTypesService, DiscoverToggleTypesService>() .AddResponseCompression(options => { options.MimeTypes = ResponseCompressionDefaults.MimeTypes.Concat( new[] { MediaTypeNames.Application.Octet }); }) .AddSwaggerGen() .AddApplicationInsightsTelemetry() .AddAuthentication(options => { options.DefaultScheme = "secured"; options.DefaultChallengeScheme = "secured"; }) .AddApiKey() .AddJwtBearer(options => { var securitySettings = new SecuritySettings(); Configuration.Bind("Security", securitySettings); options.Audience = securitySettings.OpenId.Audience; options.Authority = securitySettings.OpenId.Authority; options.TokenValidationParameters.ValidateIssuer = false; }) .AddPolicyScheme("secured", "Authorization Bearer or ApiKey", options => { options.ForwardDefaultSelector = context => { var bearer = context.Request .Headers["Authorization"] .FirstOrDefault(); if (bearer != null && bearer.StartsWith(JwtBearerDefaults.AuthenticationScheme)) { return(JwtBearerDefaults.AuthenticationScheme); } return(ApiKeyAuthenticationDefaults.ApiKeyScheme); }; }); EsquioUIApiConfiguration.ConfigureServices(services, Configuration) .AddEntityFramework(Configuration, Environment) .AddHostedService <EsquioMetricsConsumer>(); }
public void ConfigureServices(IServiceCollection services) { services .AddSingleton <IDiscoverToggleTypesService, DiscoverToggleTypesService>() .AddAuthorization() .AddAuthentication(options => { options.DefaultScheme = "secured"; options.DefaultChallengeScheme = "secured"; }) .AddApiKey() .AddJwtBearer(options => { Configuration.Bind("Security:Jwt", options); }) .AddPolicyScheme("secured", "Authorization Bearer or ApiKey", options => { options.ForwardDefaultSelector = context => { var bearer = context.Request.Headers["Authorization"].FirstOrDefault(); if (bearer != null && bearer.StartsWith(JwtBearerDefaults.AuthenticationScheme)) { return(JwtBearerDefaults.AuthenticationScheme); } return(ApiKeyAuthenticationDefaults.ApiKeyScheme); }; }); EsquioUIApiConfiguration.ConfigureServices(services) .AddScoped <IApiKeyStore, DefaultApiKeyStore>() .AddDbContext <StoreDbContext>(options => { options.UseSqlServer(Configuration["ConnectionStrings:Esquio"], setup => { setup.MaxBatchSize(10); setup.EnableRetryOnFailure(); setup.MigrationsAssembly(typeof(Startup).Assembly.FullName); }); }); }
public void ConfigureServices(IServiceCollection services) { EsquioUIApiConfiguration.ConfigureServices(services) .AddAuthorization() .AddAuthentication(setup => { setup.DefaultAuthenticateScheme = TestServerDefaults.AuthenticationScheme; setup.DefaultChallengeScheme = TestServerDefaults.AuthenticationScheme; }) .AddTestServer() .Services .AddDbContext <StoreDbContext>(setup => { setup.UseSqlServer(_configuration.GetConnectionString("Esquio"), opt => { opt.MigrationsAssembly(typeof(ServerFixture).Assembly.FullName); }); }); }
public void ConfigureServices(IServiceCollection services) { services .AddTransient <IConfigureOptions <SwaggerGenOptions>, ConfigureSwaggerGenOptions>() .AddSingleton <IDiscoverToggleTypesService, DiscoverToggleTypesService>() .AddResponseCompression(options => { options.MimeTypes = ResponseCompressionDefaults.MimeTypes.Concat( new[] { MediaTypeNames.Application.Octet }); }); services .AddSwaggerGen() .AddApplicationInsightsTelemetry() .AddAuthentication(options => { options.DefaultScheme = "secured"; options.DefaultChallengeScheme = "secured"; }) .AddApiKey() .AddJwtBearer(options => { Configuration.Bind("Security:OpenId", options); }) .AddPolicyScheme("secured", "Authorization Bearer or ApiKey", options => { options.ForwardDefaultSelector = context => { var bearer = context.Request.Headers["Authorization"].FirstOrDefault(); if (bearer != null && bearer.StartsWith(JwtBearerDefaults.AuthenticationScheme)) { return(JwtBearerDefaults.AuthenticationScheme); } return(ApiKeyAuthenticationDefaults.ApiKeyScheme); }; }); EsquioUIApiConfiguration.ConfigureServices(services) .AddEntityFramework(Configuration["ConnectionStrings:Esquio"]) .AddHostedService <EsquioMetricsConsumer>(); }