This commit is contained in:
MeysamMoghaddam
2025-09-28 00:45:26 +03:30
parent 314e2ab425
commit c8924255ac
69 changed files with 398 additions and 1213 deletions

View File

@@ -4,6 +4,7 @@ using FrontOffice.BFF.Infrastructure.Services;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Configuration;
using Microsoft.IdentityModel.Tokens;
namespace Microsoft.Extensions.DependencyInjection;
@@ -12,6 +13,7 @@ public static class ConfigureServices
public static IServiceCollection AddInfrastructureServices(this IServiceCollection services, IConfiguration configuration)
{
services.AddSingleton<IApplicationContractContext, ApplicationContractContext>();
services.AddSingleton<IKavenegarService, KavenegarService>();
services.AddInfrastructureGrpcServices(configuration);
#region AddAuthentication
@@ -19,11 +21,24 @@ public static class ConfigureServices
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(jwtBearerOptions =>
{
jwtBearerOptions.Authority = configuration["Authentication:Authority"];
jwtBearerOptions.Audience = configuration["Authentication:Audience"];
jwtBearerOptions.TokenValidationParameters.ValidateAudience = false;
jwtBearerOptions.TokenValidationParameters.ValidateIssuer = true;
jwtBearerOptions.TokenValidationParameters.ValidateIssuerSigningKey = false;
//jwtBearerOptions.Authority = configuration["Authentication:Authority"];
//jwtBearerOptions.Audience = configuration["Authentication:Audience"];
//jwtBearerOptions.TokenValidationParameters.ValidateAudience = false;
//jwtBearerOptions.TokenValidationParameters.ValidateIssuer = true;
//jwtBearerOptions.TokenValidationParameters.ValidateIssuerSigningKey = false;
jwtBearerOptions.SaveToken = true;
jwtBearerOptions.RequireHttpsMetadata = false;
jwtBearerOptions.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidateAudience = true,
ValidateLifetime = true,
ValidateIssuerSigningKey = true,
ValidIssuer = configuration["JwtIssuer"],
ValidAudience = configuration["JwtAudience"],
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(configuration["JwtSecurityKey"]))
};
try
{
jwtBearerOptions.Events = new JwtBearerEvents