Я использую Ocelot в качестве API-шлюза для наших микро-сервисов, которые построены с использованием ASP.NET Core 2.1.
Ocelot аутентифицирует токен-носитель из AD B2C и вызывает мой веб-API.
Я настроил свой веб-сервис со стандартным кодом аутентификации Azure AD B2Z:
services.AddAuthentication(AzureADB2CDefaults.BearerAuthenticationScheme) .AddAzureADB2CBearer(options => Configuration.Bind("AzureAdB2C", options));
API всегда возвращает 401 («Издатель недействителен»).Ошибка может быть связана с тем, что Оцелот находится посередине.
Я думаю, что мне не понадобится полная аутентификация, а скорее проверка токена JWT.Тем не менее, я не могу найти ни одного примера кода, который работает с JWT и ASP.NET core 2.1, особенно с Ocelot в качестве посредника.Возможно, мне придется пропустить проверку издателя, но я не знаю, как добавить объект TokenValidationParameters в конфигурацию.
Кто-нибудь строил такую систему?Как вы обрабатываете / проверяете токены, идущие от шлюза?