Фильтр на api-gateway для авторизации на миросервисах java

У меня есть api-gateway который отлавливает все запросы и рассылает их на микросервисы. Я делал авторизацию с помощью jwt, в который зашиты роли юзера. Я проверяю на валидность через фильтр

 - id: test-server
         uri: lb://test-service
         predicates:
           - Path=/test/**
         filters:
           - AuthenticationFilter

В этом фильтре я проверяю валидный ли токен, если да, то даю доступ. Но если я хочу, чтобы какой-то endpoint был разрешен только админу, или менеджеру и т.д. Где мне это лучше указывать? Есть вариант передать параметры

     key: <your-public-key-or-secret>
     jwtClaimKey: roles
     jwtClaimValue: ADMIN

Вот так, но тогда мне придется, наверное каждый endpoint указывать даже роли USER. Я думал сделать еще один фильтр, по типу AuthenticationFilter, который бы проверял на роли, и туда бы я уже передавал аргументы. Но мне кажется, что так не очень красиво. Как мне сделать проверку endpoint с jwt на java ?


Ответы (0 шт):