Beispiel #1
0
        /// <summary>
        /// This will handle authentication for API
        /// </summary>
        /// <param name="services"></param>
        /// <param name="configuration"></param>
        private static void ValidateJWTToken(IServiceCollection services, IConfiguration configuration)
        {
            TokenManagerSettings option = new TokenManagerSettings();

            // configure strongly typed settings objects
            configuration.GetSection("TokenManager").Bind(option);

            var securityKey = new SymmetricSecurityKey(Encoding.Default.GetBytes(option.SecretKey));


            services.AddAuthentication(options =>
            {
                options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                options.DefaultChallengeScheme    = JwtBearerDefaults.AuthenticationScheme;
            })
            .AddJwtBearer(options =>
            {
                options.TokenValidationParameters = new TokenValidationParameters
                {
                    ValidateIssuerSigningKey = true,
                    IssuerSigningKey         = securityKey,
                    ValidateIssuer           = false,
                    ValidateAudience         = false,
                    ValidateLifetime         = true,
                    //ClockSkew = TimeSpan.Zero
                };
            });
        }
 public JwtTokenService(IOptions <TokenManagerSettings> tokenSettings)
 {
     _tokenSettings = tokenSettings?.Value;
 }