0

在 micronaut 中,我有一个用例,我需要将 oauth2 访问令牌作为自定义标头(不是 Header Name='Authorization)添加到每个请求中。

目前,我正在获取令牌并将 Authorization 标头添加到https://micronaut-projects.github.io/micronaut-security/latest/guide/#clientecredentialshttpclient指定的每个请求。但我还必须为每个传出请求添加另一个标头,其值为令牌。所以,我使用 HttpClientFilter 来拦截请求,然后读取 Authorization Header,然后添加这个值为 token 的自定义标头。但这会导致并发问题。有时 ClientCredentialsHttpClientFilter 在 HttpClientFilter 之后被调用,在这种情况下我得到 null 作为令牌。

那么,有没有办法确保在 HttpClientFilter 之前调用 ClientCredentialsHttpClientFilter 呢?

编辑:

当我通过 IDE 运行时,所有这些都可以正常工作。但是当我使用本机图像时不运行。

4

1 回答 1

0

过滤器实现Ordered接口。

只需覆盖该getOrder()方法并根据您所需的顺序设置值。

于 2021-02-10T21:33:08.213 回答