using Infrastructure.Options;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using Microsoft.IdentityModel.Tokens;
namespace Infrastructure.Extensions;
public class JwtConfigurations
{
public void AddJwtConfigurations(IServiceCollection services, IConfiguration configuration)
{
services.Configure<JwtConfigurationOption>(configuration.GetSection("JwtConfig"));
services.AddAuthentication(op =>
{
op.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
op.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer(op =>
{
op.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidateAudience = true,
ValidateLifetime = true,
ValidateIssuerSigningKey = true,
ValidAudience = options.Value.jwtAudience, ???
ValidIssuer = options.Value.jwtIssuer,???
IssuerSigningKey = new
}
})
}
}
using Infrastructure.Options;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using Microsoft.IdentityModel.Tokens;
namespace Infrastructure.Extensions;
public class JwtConfigurations
{
public void AddJwtConfigurations(IServiceCollection services, IConfiguration configuration)
{
services.Configure<JwtConfigurationOption>(configuration.GetSection("JwtConfig"));
services.AddAuthentication(op =>
{
op.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
op.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer(op =>
{
op.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidateAudience = true,
ValidateLifetime = true,
ValidateIssuerSigningKey = true,
ValidAudience = options.Value.jwtAudience, ???
ValidIssuer = options.Value.jwtIssuer,???
IssuerSigningKey = new
}
})
}
}