Exemplo n.º 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();

            var jwtConfig = new JwtConfig();

            Configuration.GetSection("JwtConfig").Bind(jwtConfig);

            services.Configure <JwtConfig>(Configuration.GetSection("JwtConfig"));
            services.AddJwtTokens(jwtConfig);
            services.AddSwagger();
        }
Exemplo n.º 2
0
        public static IServiceCollection AddJwtTokens(this IServiceCollection services, JwtConfig jwtConfig)
        {
            services.AddAuthentication(option =>
            {
                option.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                option.DefaultChallengeScheme    = JwtBearerDefaults.AuthenticationScheme;
            }).AddJwtBearer(options =>
            {
                options.TokenValidationParameters = new TokenValidationParameters
                {
                    ValidateIssuer           = true,
                    ValidateAudience         = true,
                    ValidateLifetime         = false,
                    ValidateIssuerSigningKey = true,
                    ValidIssuer   = jwtConfig.Issuer,
                    ValidAudience = jwtConfig.Audience,

                    IssuerSigningKey = new SymmetricSecurityKey(Convert.FromBase64String(jwtConfig.Secret))
                };
            });

            return(services);
        }