Example #1
0
 public JWTHandler(IOptions <JWTOptions> options)
 {
     Console.WriteLine("JWTHandler called");
     _options                   = options.Value;
     _issueSigningKey           = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_options.SecretKey));
     _signingCredentials        = new SigningCredentials(_issueSigningKey, SecurityAlgorithms.HmacSha256);
     _jwtHeader                 = new JwtHeader(_signingCredentials);
     _tokenValidationParameters = new TokenValidationParameters {
         ValidateAudience = false,
         ValidIssuer      = _options.Issuer,
         IssuerSigningKey = _issueSigningKey
     };
 }
Example #2
0
        public static void AddJWT(this IServiceCollection services, IConfiguration configuration, string sectionName = "jwt")
        {
            var options = new JWTOptions();
            var section = configuration.GetSection("jwt");

            section.Bind(options);
            services.Configure <JWTOptions>(section);
            services.AddSingleton <IJWTHandler, JWTHandler>();
            services.AddAuthentication().AddJwtBearer(cfg =>
            {
                cfg.RequireHttpsMetadata      = false;
                cfg.SaveToken                 = true;
                cfg.TokenValidationParameters = new TokenValidationParameters
                {
                    ValidateAudience = false,
                    ValidIssuer      = options.Issuer,
                    IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(options.SecretKey))
                };
            });
        }