public static void JwtBearerOptions(JwtBearerOptions options, IConfiguration configuration) { var jwtAppSettingsOptions = configuration.GetSection(nameof(JwtIssuerOptions)); var symmetricSecurityKey = JwtSecurityKey.Create(jwtAppSettingsOptions[nameof(JwtIssuerOptions.IssuerSigningKey)]); var jwtIssuer = jwtAppSettingsOptions[nameof(JwtIssuerOptions.Issuer)]; var jwtAudience = jwtAppSettingsOptions[nameof(JwtIssuerOptions.Audience)]; // Jwt token validation configuration options.TokenValidationParameters = new TokenValidationParameters { ValidIssuer = true.ToString(), ValidAudience = true.ToString(), ValidateLifetime = true, RequireExpirationTime = true, //ClockSkew = TimeSpan.Zero, ValidateIssuerSigningKey = true, ValidIssuers = new[] { jwtIssuer }, ValidAudiences = new[] { jwtAudience }, IssuerSigningKey = symmetricSecurityKey }; // Jwt token configuration configuration options.Configuration = new OpenIdConnectConfiguration() { SigningKeys = { symmetricSecurityKey }, Issuer = jwtIssuer }; options.Audience = jwtAudience; }
public JwtTokenBuilder WithDefaultOptions(IConfiguration configuration) { var jwtAppSettingsOptions = configuration.GetSection(nameof(JwtIssuerOptions)); securityKey = JwtSecurityKey.Create(jwtAppSettingsOptions.GetValue <string>(nameof(JwtIssuerOptions.IssuerSigningKey))); issuer = jwtAppSettingsOptions.GetValue <string>(nameof(JwtIssuerOptions.Issuer)); audience = jwtAppSettingsOptions.GetValue <string>(nameof(JwtIssuerOptions.Audience)); expiryInMinutes = jwtAppSettingsOptions.GetValue <int>(nameof(JwtIssuerOptions.ExpirityInMinutes)); return(this); }