Code: Select all
public class Startup()
{
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton();
services.AddAuthentication(o =>
{
o.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
o.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(o =>
{
// ...
// here below I need DI to provide a KeyProvider instance:
IssuerSigningKeyResolver = (s, securityToken, identifier, parameters) =>
//...
});
}
public void Configure()
{
// ...
}
}
Code: Select all
services.AddAuthentication(o =>
{
o.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
o.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(o =>
{
o.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidateAudience = true,
ValidateLifetime = true,
ValidateIssuerSigningKey = true,
ValidIssuer = "SomeIssuer",
ValidAudience = "SomeAudience",
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("ABCDEABCDEABCDEABCDEABCDEABCDEABCDE")),
ClockSkew = new TimeSpan(0)
};
});