. NET Core 2-3 JWT Несколько аудиторий - PullRequest
0 голосов
/ 27 апреля 2020

У меня есть. NET Core 2 (скоро будет обновлен до 3) API с JWT. Этот API обслуживает несколько определенных c компаний, входящих в родительскую компанию. Материнская компания генерирует JWT, и они задают спецификацию аудитории c запрашивающей компании (API для нескольких компаний - это новая вещь). Поэтому мой API должен поддерживать несколько разных аудиторий.

В настоящее время мы динамически переключаемся в зависимости от URL-адреса запроса (идентификатор компании указан в URL-адресе). Эта настройка динамического c происходит в OnMessageReceived:

OnMessageReceived = msgRcvdContext =>
{
    companyId = GetCompanyId(msgRcvdContext.Request);
    options.TokenValidationParameters.ValidAudience = GetAudienceByCompanyId(companyId);
}

Меняет ли это «глобальные» параметры, а не параметры для этого конкретного запроса? Если это неправильный способ обслуживания нескольких аудиторий, как мне это сделать? Должен ли я просто поместить все действительные аудитории в свойство списка в TokenValidationPrameters? Или есть какой-то другой способ, которым я должен это сделать?

Спасибо.

1 Ответ

0 голосов
/ 30 апреля 2020

Вы можете установить несколько аудиторий через свойство ValidAudiences TokenValidationParameters. См. Документацию API: https://docs.microsoft.com/en-us/dotnet/api/microsoft.identitymodel.tokens.tokenvalidationparameters.validaudiences?view=azure-dotnet#Microsoft_IdentityModel_Tokens_TokenValidationParameters_ValidAudiences

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