예제 #1
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            var connectionString = Configuration[Common.CommonUtilities.Constants.PostgresqlConnStr];

            services.AddEntityFrameworkNpgsql().AddDbContext <Repository.UPCTaggingDBContext>(options => options.UseNpgsql(connectionString, b => b.MigrationsAssembly("UPCTaggingInterface")));

            services.RegisterServices();

            //services.Configure<MvcOptions>(options =>
            //{
            //    options.Filters.Add(new RequireHttpsAttribute());
            //});

            services.AddCors();
            services.AddMvc();


            //services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
            //        .AddCookie(options =>
            //        {
            //            options.AccessDeniedPath = "";
            //            options.LoginPath = "/api/login/authenticate-user";
            //            options.Cookie.HttpOnly = false;
            //            options.Events.OnRedirectToLogin = (context) =>
            //              {
            //                  context.Response.StatusCode = 401;
            //                  return Task.CompletedTask;
            //              };
            //            options.Cookie.SecurePolicy = CookieSecurePolicy.None;
            //        });

            var settings = Configuration.GetSection("Authentication:Security");

            services.Configure <AuthSettings>(settings);
            services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
            .AddJwtBearer(options =>
            {
                options.TokenValidationParameters = new TokenValidationParameters
                {
                    ValidateIssuer           = true,
                    ValidateAudience         = true,
                    ValidateLifetime         = true,
                    ValidateIssuerSigningKey = true,

                    ValidIssuer      = settings["ClientName"],
                    ValidAudience    = settings["ClientName"],
                    IssuerSigningKey = TokenProvider.GenerateSecret(settings["SecretKey"])
                };
            });
        }
예제 #2
0
        private void AddAuthnetication(IServiceCollection services)
        {
            var settings = Configuration.GetSection("Authentication:Security");

            services.Configure <AuthSettings>(settings);
            services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
            .AddJwtBearer(options =>
            {
                options.TokenValidationParameters = new TokenValidationParameters
                {
                    ValidateIssuer           = true,
                    ValidateAudience         = true,
                    ValidateLifetime         = true,
                    ValidateIssuerSigningKey = true,

                    ValidIssuer      = settings["CleintName"],
                    ValidAudience    = settings["CleintName"],
                    IssuerSigningKey = TokenProvider.GenerateSecret(settings["SecretKey"])
                };
            });
        }