Esempio n. 1
0
        public IServiceProvider ConfigureServices(IServiceCollection services)
        {
            services.AddMvc().AddFluentValidation(
                fvc =>
            {
                fvc.RegisterValidatorsFromAssemblyContaining <Startup>();
            });
            services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>();
            services.AddTransient((p) =>
            {
                return(services);
            });

            var builder = new ContainerBuilder();

            builder.Populate(services);
            Bootstraper.DoTheMagic(builder);

            var container = builder.Build();

            IAuthenticationProvider AuthenticationProvider = container.Resolve <IAuthenticationProvider>();

            AuthenticationProvider.InitializeAuthentication(services);

            // set up authentication
            var key = Encoding.ASCII.GetBytes("alskdfj2398r49qhroqh9238yroinehofiuy3h948rhoiefa");

            services.AddAuthentication(x =>
            {
                x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                x.DefaultChallengeScheme    = JwtBearerDefaults.AuthenticationScheme;
            })
            .AddJwtBearer(x =>
            {
                x.RequireHttpsMetadata      = false;
                x.SaveToken                 = true;
                x.TokenValidationParameters = new TokenValidationParameters
                {
                    ValidateIssuerSigningKey = true,
                    IssuerSigningKey         = new SymmetricSecurityKey(key),
                    ValidateIssuer           = false,
                    ValidateAudience         = false
                };
            });

            return(container.Resolve <IServiceProvider>());
        }