spring-boot - 如何使用访问令牌/授权标头使 spring webclient 跟随重定向?
问题描述
我们正在使用带有 webflux 的 spring boot 2.4.5 并调用具有客户端凭据授予类型的服务。我们注意到的是 webclient 没有遵循重定向。
我们如何让 webclient 遵循重定向,它可以继续传递访问令牌,直到它获得 http 200?
添加以下代码段不会将访问令牌传递给重定向的 url,它会返回 401。
WebClient.builder()
.clientConnector(new ReactorClientHttpConnector(
HttpClient.create().followRedirect(true)
))
解决方案
Authorization
当重定向到不同的域时,从初始化的请求中删除敏感的标头。
您可以使用以下变体followRedirect(boolean)
:
followRedirect(boolean followRedirect, Consumer<HttpClientRequest> redirectRequestConsumer)
为了使用重新添加Authorization
标题redirectRequestConsumer
。
有关更多详细信息,请参阅此处的 Javadoc 。
推荐阅读
- google-cloud-platform - Google Cloud Platform 计算错误率图表为 100%
- regex - 如何限制正则表达式中 2 个相邻字符串的总长度?
- solr - SOLR 精确搜索关闭词干提取
- python-3.x - 什么情况下过滤器可以拒绝在 Python 中工作?
- vue.js - 带有 v-for 的 srcset
- python - 为 MAC 版本 10.14.6 安装 python
- hotchocolate - 使用 Pure Code First Hot Chocolate GraphQL 的特定属性的日期类型
- javascript - Firestore 获取与值数组中的项目匹配的任何值
- amazon-s3 - S3 存储桶策略和 EMR - 示例
- javascript - ReactJS:为什么我的反应主应用程序组件在由键盘键而不是鼠标单击触发时会呈现多次?