Beispiel #1
0
        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"];
        }
Beispiel #2
0
        // 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);
        }