У меня есть входящий токен с неверной аудиторией.В токене достаточно информации с помощью других утверждений, которые доказывают, какой должна быть аудитория.Я надеялся исправить это рано, чтобы я мог по-прежнему воспользоваться JwtBearerOptions.TokenValidationParameters.ValidateAudience = true;JwtBearerOptions.TokenValidationParameters.ValidAudiences = {"правильный"};
Я могу перехватить событие OnTokenValidated и переписать принципал, но это слишком поздно.Ранее в конвейере токен был проверен, а поскольку аудитория ошибочна, он уже был отклонен.
Я могу обойти это, используя политики авторизации, установив ValidateAudience = false и позаботившись об этом.на уровне контроллера.Мне не нравится добавлять атрибут [Authorize ("the-correct-аудитория")] к каждому контроллеру, потому что кто-то пропустит его.
Другой альтернативой является введение нового промежуточного программного обеспечения, которое работает на identifitiy.claims и отклоняет его.
В конце я хочу иметь возможность глобально отклонять эти токены так, как validateAudience = trueвыполняет, когда validateAudience был отнят у меня как опция фильтрации.
Кто-нибудь делал что-то подобное и какие другие альтернативы вы использовали?