Vert.x: несколько JWTAuthHandler в одном ChainAuthHandler - PullRequest
0 голосов
/ 22 января 2019

Я хочу использовать два разных JWTAuthHandler, каждый с уникальным открытым ключом RS256.Это потому, что я получаю JWT из двух разных источников.

ChainAuthHandler должен быть подходящим способом для объединения этих двух JWTAuthHandler.Однако это не работает ...

Проблема:

  • При переборе всех добавленных обработчиков ChainAuthHandler только проверяет, приводит ли parseCredentials () к ошибке.
  • Поскольку JWTAuthHandler в parseCredentials () ищет только заголовок «Authorization», ошибка не возникает.
  • Исключение выдается позже в JWTAuthProviderImpl.authenticate ().

Есть ли способ это исправить?

1 Ответ

0 голосов
/ 23 января 2019

JWT - это механизм авторизации, а не аутентификация.Если у вашего пользователя есть токен, этот обработчик не может подтвердить, что пользователь является тем, кем он себя считает.Поскольку состояния нет, токен используется только для подтверждения, если пользователь авторизован для определенной роли.Таким образом, вы можете выполнять только isAuthorized() звонки.

...