【问题标题】:How to make spring webclient follow redirect with access token/authorization header?如何使用访问令牌/授权标头使 spring webclient 跟随重定向?
【发布时间】:2021-11-21 19:23:24
【问题描述】:

我们正在使用带有 webflux 的 spring boot 2.4.5 并调用具有客户端凭据授权类型的服务。我们注意到的是 webclient 没有跟随重定向。

我们如何让 webclient 遵循重定向,它可以继续传递访问令牌,直到它获得 http 200?

添加以下代码 sn-p 不会将访问令牌传递给重定向的 url,它会返回 401。

 WebClient.builder()
                .clientConnector(new ReactorClientHttpConnector(
                        HttpClient.create().followRedirect(true)
                ))

【问题讨论】:

    标签: spring-boot oauth-2.0 spring-security-oauth2 spring-webclient clientcredential


    【解决方案1】:

    当重定向到不同的域时,像Authorization 这样的敏感标头会从初始化请求中删除。

    您可以使用followRedirect(boolean) 的以下变体:

    followRedirect(boolean followRedirect, Consumer<HttpClientRequest> redirectRequestConsumer)
    

    为了使用redirectRequestConsumer 重新添加Authorization 标头。

    有关更多详细信息,请参阅 Javadoc here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-24
      • 2021-09-19
      • 2015-12-06
      • 2020-04-28
      • 2020-06-13
      • 2015-05-26
      • 2022-08-16
      • 2019-02-12
      相关资源
      最近更新 更多