Как реализовать мультитенантную аутентификацию JWT с разными пользовательскими пулами AWS Cognito для каждого арендатора с помощью .Net Core - PullRequest
1 голос
/ 12 апреля 2019

У меня есть разные 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();
            });

В идеале я хотел бы иметь возможность установить этот конфиг после запуска приложения, в зависимости от запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...