У меня есть разные AWS Cognito UserPool для каждого арендатора, но мне нужно иметь возможность проверять токен в зависимости от конкретного запроса арендатора.
Я знаю, что в настоящее время нет поддержки в .Net Core.Кто-нибудь может посоветовать способ справиться с этим?Можете ли вы динамически установить JWT Bearer после запуска приложения?
Чтобы заставить его работать, я попытался добавить несколько JWTBearer в Startup.cs, но я столкнулся с ошибкой: InvalidOperationException: Scheme already exists: Bearer
.
services.AddAuthentication(o =>
{
o.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
o.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(cfg =>
{
cfg.SaveToken = true;
cfg.TokenValidationParameters = <TENANT_1_CONFIG>.TokenValidationParameters();
})
.AddJwtBearer(cfg =>
{
cfg.SaveToken = true;
cfg.TokenValidationParameters = <TENANT_2_CONFIG>.TokenValidationParameters();
});
В идеале я хотел бы иметь возможность установить этот конфиг после запуска приложения, в зависимости от запроса.