示例#1
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();
            Registrar.AddRegistration(services, Configuration);

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

            var issuer     = Configuration["AuthenticationSettings:Issuer"];
            var audience   = Configuration["AuthenticationSettings:Audience"];
            var signingKey = Configuration["AuthenticationSettings:SigningKey"];

            services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme).AddJwtBearer(o =>
            {
                o.Audience = audience;
                o.TokenValidationParameters = new TokenValidationParameters()
                {
                    ValidateIssuer           = true,
                    ValidIssuer              = issuer,
                    ValidateIssuerSigningKey = true,
                    ValidateLifetime         = true,
                    IssuerSigningKey         = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(signingKey))
                };
            });
            ///Quitar comentario para usar conexción en configuración
            services.AddDbContext <ApiContext>(options =>
            {
                options.UseSqlServer(Configuration.GetConnectionString("EvolutionCn"));
            });
            services.AddDbContext <ModelContext>(options =>
            {
                options.UseSqlServer(Configuration.GetConnectionString("EvolutionCn"));
            });
        }