Require oidc metadata url instead of individual values
This commit is contained in:
@@ -6,11 +6,9 @@ public class JwtOptions
|
||||
{
|
||||
public const string SectionName = "JWT";
|
||||
|
||||
public string Audience { get; set; } = "";
|
||||
public string ValidAudience { get; set; } = "";
|
||||
|
||||
public string Authority { get; set; } = "";
|
||||
|
||||
public string Issuer { get; set; } = "";
|
||||
public string MetadataUrl { get; set; } = "";
|
||||
|
||||
public string? NameClaimType { get; set; }
|
||||
}
|
||||
@@ -19,13 +17,10 @@ public class JwtOptionsValidator : AbstractValidator<JwtOptions>
|
||||
{
|
||||
public JwtOptionsValidator()
|
||||
{
|
||||
RuleFor(x => x.Audience)
|
||||
RuleFor(x => x.ValidAudience)
|
||||
.NotEmpty();
|
||||
|
||||
RuleFor(x => x.Authority)
|
||||
.NotEmpty();
|
||||
|
||||
RuleFor(x => x.Issuer)
|
||||
RuleFor(x => x.MetadataUrl)
|
||||
.NotEmpty();
|
||||
}
|
||||
}
|
||||
@@ -125,14 +125,11 @@ public static class DependencyInjectionExtensions
|
||||
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
|
||||
.AddJwtBearer(JwtBearerDefaults.AuthenticationScheme, o =>
|
||||
{
|
||||
o.Authority = jwtOptions.Value.Authority;
|
||||
o.MetadataAddress = jwtOptions.Value.MetadataUrl;
|
||||
|
||||
o.TokenValidationParameters.ValidAudience = jwtOptions.Value.Audience;
|
||||
o.TokenValidationParameters.ValidAudience = jwtOptions.Value.ValidAudience;
|
||||
o.TokenValidationParameters.ValidateAudience = true;
|
||||
|
||||
o.TokenValidationParameters.ValidIssuer = jwtOptions.Value.Issuer;
|
||||
o.TokenValidationParameters.ValidateIssuer = true;
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(jwtOptions.Value.NameClaimType))
|
||||
{
|
||||
o.TokenValidationParameters.NameClaimType = jwtOptions.Value.NameClaimType;
|
||||
|
||||
Reference in New Issue
Block a user