// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { BusinessLogicConfiguration.ConfigureServices(services, Configuration); BusinessLogicConfiguration.ConfigureIdentityInicializerAsync(services.BuildServiceProvider()); services.AddControllers(mvcOtions => { mvcOtions.EnableEndpointRouting = false; }).AddNewtonsoftJson(options => options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "Api", Version = "v1" }); c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme { Name = "Authorization", Type = SecuritySchemeType.Http, Scheme = "Bearer", BearerFormat = "JWT", In = ParameterLocation.Header, Description = "JWT Authorization header using the Bearer scheme." }); c.AddSecurityRequirement(new OpenApiSecurityRequirement { { new OpenApiSecurityScheme { Reference = new OpenApiReference { Type = ReferenceType.SecurityScheme, Id = "Bearer" } }, new string[] {} } }); }); services.AddAuthentication(x => { x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }).AddJwtBearer(options => { options.RequireHttpsMetadata = false; options.SaveToken = true; options.TokenValidationParameters = new TokenValidationParameters { ValidateIssuerSigningKey = true, IssuerSigningKey = AuthOptions.GetSymmetricSecurityKey(), ValidateIssuer = false, ValidateAudience = false, ValidateLifetime = true, }; }); services.AddScoped <ExceptionFilter>(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { BusinessLogicConfiguration.ConfigureServices(services, Configuration.GetConnectionString("DefaultConnection")); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); // In production, the Angular files will be served from this directory services.AddSpaStaticFiles(configuration => { configuration.RootPath = "ClientApp/dist"; }); }
public void ConfigureServices(IServiceCollection services) { services.Configure <CookiePolicyOptions>(options => { options.CheckConsentNeeded = context => true; options.MinimumSameSitePolicy = SameSiteMode.None; }); services.AddControllersWithViews(config => { var policy = new AuthorizationPolicyBuilder() .RequireAuthenticatedUser() .Build(); config.Filters.Add(new AuthorizeFilter(policy)); }); services.AddHsts(options => { options.Preload = true; options.IncludeSubDomains = true; options.MaxAge = TimeSpan.FromDays(365); }); services.AddHttpsRedirection(options => { options.RedirectStatusCode = StatusCodes.Status308PermanentRedirect; options.HttpsPort = _configuration.GetValue <int>("HttpsPort"); }); services.AddApplicationInsightsTelemetry(); var authenticationConfig = new AuthenticationConfiguration(services, _configuration, _environment); authenticationConfig.Configure(); var databaseConfig = new DatabaseConfiguration(services, _configuration, _environment); databaseConfig.Configure(); var dataAccessConfiguration = new DataAccessConfiguration(services, _configuration, _environment); dataAccessConfiguration.Configure(); var businessLogicConfiguration = new BusinessLogicConfiguration(services, _configuration, _environment); businessLogicConfiguration.Configure(); }
public static void Configure(IServiceCollection services) { BusinessLogicConfiguration.Configure(services); }