gpt4 book ai didi

spring - 如何在 Spring 微服务之间传递原始 Oauth2 不记名 token

转载 作者:行者123 更新时间:2023-12-02 06:53:04 24 4
gpt4 key购买 nike

我们有一些 Spring 微服务,它们通过 Rest(Spring 的 RestTemplate)相互通信。所有这些都应用了 Oauth2 授权,并且 JWT token 通过一些自定义字段(即 userRole、userId 等)进行了扩展。

我的问题如下:

当我们调用一个服务,同时通过 RestTemplate 调用另一个微服务时,当微服务相互通信时,原始的承载 token (Oauth2) 不会被转发。我们无法从其他服务获得响应,因为我们未经授权。我找不到一个简洁的解决方案。

请注意,我们不想为第二次调用获取新 token ,因为这会影响我们的性能。这就是 OAuth2RestTemplate 正在做的事情,但我们只想传递原始的不记名 token 。

根据我在 Stackoverflow 上的研究,一种解决方案是 manually add the bearer + token作为 Authorization header ,并使用 .exchange() ,但我认为 spring 中应该有一个配置,这将使 RestTemplate 传递原始 Authorization header ,或类似的东西。

最佳答案

我在本地测试时遇到了同样的问题。我的 application.yml 文件中的以下配置修复了它。 token 从一个服务调用传递到另一个服务调用。

hystrix: 命令: 默认: 执行: 隔离: 策略:信号量 线: 超时毫秒:5000

关于spring - 如何在 Spring 微服务之间传递原始 Oauth2 不记名 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42115420/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com