public static void SetupJwtMechanism(IServiceCollection services, JwtAuthenticationSettings jwtSettings) { services.AddAuthentication(x => { x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }).AddJwtBearer(JwtBearerDefaults.AuthenticationScheme, x => { x.Audience = jwtSettings.Audience; x.TokenValidationParameters = new TokenValidationParameters { ValidateIssuerSigningKey = jwtSettings.ValidateSigningKey, IssuerSigningKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(jwtSettings.SigningKey)), ValidateIssuer = jwtSettings.ValidateIssuer, ValidIssuer = jwtSettings.Issuer, ValidateAudience = jwtSettings.ValidateAudience, ClockSkew = System.TimeSpan.Zero }; }).AddJwtBearer("Temp", x => { x.Audience = jwtSettings.Audience; x.TokenValidationParameters = new TokenValidationParameters { ValidateIssuerSigningKey = jwtSettings.ValidateSigningKey, IssuerSigningKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(jwtSettings.TempSigningKey)), ValidateIssuer = jwtSettings.ValidateIssuer, ValidIssuer = jwtSettings.Issuer, ValidateAudience = jwtSettings.ValidateAudience, ClockSkew = System.TimeSpan.Zero }; }); }
public OauthController(IOptions <JwtAuthenticationSettings> options, DncAdminContext context) { _settings = options.Value; _context = context; }