예제 #1
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            //Swagger implementation
            SwaggerServiceExtension.AddSwaggerDocumentation(services);
            // Auto Mapper Configurations
            var mappingConfig = new MapperConfiguration(mc =>
            {
                mc.AddProfile(new MappingProfile());
            });
            IMapper mapper = mappingConfig.CreateMapper();

            services.AddSingleton(mapper);
            //Dependency Injection Implementation
            DependencyContainer.Initialize(services);
            //JWT configuration

            services.Configure <IdentityOptions>(options => {
            });


            services.AddAuthentication(options =>
            {
                options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                options.DefaultChallengeScheme    = JwtBearerDefaults.AuthenticationScheme;
                options.DefaultScheme             = JwtBearerDefaults.AuthenticationScheme;
            }).AddJwtBearer(options =>
            {
                options.SaveToken                 = true;
                options.RequireHttpsMetadata      = false;
                options.TokenValidationParameters = new TokenValidationParameters()
                {
                    ValidateIssuer = true,

                    ValidateAudience = true,
                    ValidAudience    = "http://oec.com",
                    ValidIssuer      = "http://oec.com",
                    IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("MySuperSecuredKey"))
                };
            });

            services.AddCors(options =>
            {
                options.AddPolicy("AllowOrigin",
                                  builder => builder.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod());
            });
            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_3_0);
            services.AddScoped <AuthorizationFilter>();
        }
예제 #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="app"></param>
 /// <param name="env"></param>
 // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
 public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
 {
     //if (env.IsDevelopment())
     //{
     //    app.UseDeveloperExceptionPage();
     //}
     //else
     //{
     //    app.UseHsts();
     //}
     // app.UseCors("CorsPolicy");
     app.UseCors(builder => builder.WithOrigins("http://localhost:3000").AllowAnyHeader().AllowAnyMethod());
     app.UseSwagger();
     SwaggerServiceExtension.UseSwaggerDocumentation(app);
     app.UseAuthentication();
     app.UseHttpsRedirection();
     app.UseRouting();
     app.UseAuthorization();
     app.UseEndpoints(endpoints => { endpoints.MapControllers(); });
 }