private void ConfigureServices() { var services = new ServiceCollection(); var configuration = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build(); services.AddSingleton <IConfiguration>(configuration).AddFeatureManagement().AddFeatureFilter <PercentageFilter>();//.AddFeatureFilter<AccountIdFilter>(); ServicoConfig.ConfigurarEscopo(services); serviceProvider = services.BuildServiceProvider(); configuracaoApp = serviceProvider.GetRequiredService <IConfiguracaoApp>(); configuracaoApp.SetBancoDados_InMemory(true); Constantes.ChaveAutenticacao = configuration["Jwt:Key"]; }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); services.AddDbContext <iCustomContexto>(); services.AddAuthentication(_ => { _.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; _.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }).AddJwtBearer(_ => { _.RequireHttpsMetadata = false; _.SaveToken = true; _.TokenValidationParameters = new Microsoft.IdentityModel.Tokens.TokenValidationParameters() { ValidateIssuer = false, ValidateAudience = false, ValidateLifetime = true, ValidateIssuerSigningKey = true, ValidIssuer = Constantes.Issuer, ValidAudience = Constantes.Audience, IssuerSigningKey = new SymmetricSecurityKey(Constantes.Key) }; }); #region Swagger Config { string caminhoXmlDoc = Constantes.CaminhoXmlDoc; services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "Sistema iCustom (API)", Version = "v1", Description = "API REST do sistema", Contact = new OpenApiContact { Name = "Wallace Augusto", Url = new Uri("https://www.linkedin.com/in/wallace-augusto-322ab2101/") } }); c.IncludeXmlComments(caminhoXmlDoc); c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme { Name = "Authorization", Type = SecuritySchemeType.ApiKey, 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[] {} } }); }); } #endregion ServicoConfig.ConfigurarEscopo(services); }