Micronaut: Несколько конфигураций безопасности для одного и того же приложения

#micronaut #micronaut-rest

Вопрос:

Описание

У меня есть типичное приложение Micronaut API, имеющее два типа конечных точек:

1/ клиентская проверка подлинности с использованием токена JWT, подписанного подписью A

2/ внутренняя (от службы к службе) аутентификация с использованием токена JWT, подписанного подписью B

Поэтому, имея два разных типа токенов безопасности JWT и, соответственно, две разные подписи, я хочу, чтобы они были эксклюзивными, например, данные подписи используются только для соответствующих контроллеров.

Моя текущая конфигурация выглядит следующим образом:

   security:
    enabled: true
    token:
      jwt:
        signatures:
          secret:
            secret-a:
              base64: true
              secret: XXXX
            secret-b:
              base64: true
              secret: YYY

 

И при проверке токена JWT он проверяет по крайней мере одну подпись, в то время как мне нужна была бы именно такая.

Можно ли решить эту проблему путем настройки, например, путем пометки подписей и аннотирования соответствующих контроллеров?

Вот несколько примеров:

         signatures:
          secret:
            secret-a:
              base64: true
              secret: XXXXX
              tag: client
            secret-b:
              base64: true
              secret: YYYY
              tag: admin
 
 @Secured(SecurityRule.IS_AUTHENTICATED, tag=admin)
class AdminController {
 

Micronaut версия 1.3.7

Спасибо.