Добавление заголовка Token в запрос клиента micronaut

В micronaut у меня есть вариант использования, когда мне нужно добавить токен доступа oauth2 в качестве пользовательского заголовка (не Имя заголовка = «Авторизация») для каждого запроса.

В настоящее время я извлекаю токен и добавляю заголовок авторизации к каждому запросу, как указано https://micronaut-projects.github.io/micronaut-security/latest/guide/#clientecredentialshttpclient. Но мне также нужно добавить еще один заголовок, значение которого является токеном для каждого исходящего запроса. Итак, я использую HttpClientFilter для перехвата запроса, затем читаю заголовок авторизации, а затем добавляю этот настраиваемый заголовок, значением которого является токен. Но это вызывает проблемы параллелизма. Иногда ClientCredentialsHttpClientFilter вызывается после HttpClientFilter, и в этом случае я получаю нуль в качестве токена.

Итак, есть ли способ убедиться, что ClientCredentialsHttpClientFilter вызывается перед HttpClientFilter?

РЕДАКТИРОВАТЬ:

Все это прекрасно работает, когда я запускаю через IDE. Но не запускается, когда я использую собственный образ.


person Swapnil Dhimmar    schedule 09.02.2021    source источник


Ответы (1)


Фильтр реализует интерфейс Ordered.

Просто переопределите метод getOrder() и установите значение в соответствии с требуемым порядком.

person Sascha Frinken    schedule 10.02.2021
comment
Спасибо за Ваш ответ. Но таким образом он отлично работает, когда я запускаю приложение через IDE. Но когда я создаю собственный образ и когда я запускаю запрос к этому собственному образу, он снова дает ту же ошибку из-за параллелизма. - person Swapnil Dhimmar; 11.02.2021