Пример #1
0
        public void ConfigureServices(IServiceCollection services)
        {
            ConfigureDatabase.ConfigureDependencyDatabases(services);
            ConfigureService.ConfigureDependencyServices(services);
            ConfigureRepository.ConfigureDependencyRepositories(services);
            ConfigureMapping.ConfigureDependencyMapping(services);

            var signingConfiguration = new SigningConfiguration();
            var tokenConfiguration   = Configuration.GetSection("Token").Get <TokenConfiguration>();

            services.AddSingleton(signingConfiguration);
            services.AddSingleton(tokenConfiguration);

            services.AddAuthentication(options => {
                options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                options.DefaultChallengeScheme    = JwtBearerDefaults.AuthenticationScheme;
            }).AddJwtBearer(options => {
                var validation = options.TokenValidationParameters;
                validation.IssuerSigningKey         = signingConfiguration.Key;
                validation.ValidAudience            = tokenConfiguration.Audience;
                validation.ValidIssuer              = tokenConfiguration.Issuer;
                validation.ValidateIssuerSigningKey = true;
                validation.ValidateLifetime         = true;
                validation.ClockSkew = TimeSpan.Zero;
            });

            services.AddAuthorization(options => {
                options.DefaultPolicy = new AuthorizationPolicyBuilder()
                                        .AddAuthenticationSchemes(JwtBearerDefaults.AuthenticationScheme)
                                        .RequireAuthenticatedUser()
                                        .Build();
            });

            services.AddSwaggerGen(config =>
            {
                config.SwaggerDoc("v1", new OpenApiInfo {
                    Title = "My API", Version = "v1"
                });
                config.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme {
                    In          = ParameterLocation.Header,
                    Description = "Token jwt",
                    Name        = "Authorization",
                    Type        = SecuritySchemeType.ApiKey
                });
                config.AddSecurityRequirement(new OpenApiSecurityRequirement {
                    {
                        new OpenApiSecurityScheme {
                            Reference = new OpenApiReference {
                                Id   = "Bearer",
                                Type = ReferenceType.SecurityScheme
                            }
                        },
                        new string[0]
                    }
                });
            });

            services.AddControllers();
        }
Пример #2
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            ConfigureMapping.Configure();

            Database.SetInitializer <PseezEntDbContext>(null);

            InitializeStructureMap();
        }
Пример #3
0
 // This method gets called by the runtime. Use this method to add services to the container.
 public void ConfigureServices(IServiceCollection services)
 {
     ConfigureRepository.ConfigureDependencieRepository(services);
     ConfigureMapping.ConfigureDependenceMapping(services);
     services.AddControllers().AddFluentValidation();
     ConfigureService.ConfigureDependencieService(services);
     ConfigureValidation.ConfigureValidationService(services);
     ConfigureAppService.ConfigureDependencieAppService(services);
     services.AddSwaggerGen(c =>
     {
         c.SwaggerDoc("v1", new OpenApiInfo
         {
             Version     = "v1",
             Title       = "Teste Sydy API",
             Description = "Teste de uma WebAPI para times de futebol...",
             Contact     = new OpenApiContact
             {
                 Name  = "Pascal Breno",
                 Email = "*****@*****.**",
                 Url   = new Uri("https://www.linkedin.com/in/breno-felix-de-souza-49186b131/"),
             }
         });
     });
 }