gpt4 book ai didi

spring-security-oauth2 - Spring Cloud Zuul 不中继访问 token

转载 作者:行者123 更新时间:2023-12-01 13:38:56 25 4
gpt4 key购买 nike

我正在尝试使用 Spring Cloud Zuul 作为 api/身份验证网关。我已经在 zuul 后面成功地为我的服务实现了不记名 token 授权,并且我成功地让 Zuul 转发到我的表单登录并路由回我的应用程序,但是我无法让 Zuul 将不记名 token 传递给服务。

我的Zuul配置如下:

@EnableEurekaClient
@EnableZuulProxy
@SpringBootApplication
@RestController
public class Application { ... }

我的服务配置如下:

@Profile("oauth")
@Configuration
@EnableResourceServer
@EnableWebSecurity
public static class InternalApiGatewayConfig extends ResourceServerConfigurerAdapter {

当我的 Angular 应用程序尝试通过 zuul 访问我的服务时,我得到

{"error":"unauthorized","error_description":"Full authentication is required to access this resource"}

我通过将以下代码放入 ZuulFilter 中设法解决了这个问题,但它似乎不正确:

    Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
OAuth2AuthenticationDetails details = (OAuth2AuthenticationDetails)authentication.getDetails();
String tokenValue = details.getTokenValue();
ctx.addZuulRequestHeader("Authorization", "bearer " + tokenValue);

我的理解是 Zuul 应该自动发送不记名 token 值。我错过了什么?

最佳答案

所以我找到了我自己问题的答案,而且非常简单。我的项目导入了 spring-security-oauth2。我只需要添加对 spring-cloud-security 的依赖。有了它,我根本不需要实现 ZuulFilter。

关于spring-security-oauth2 - Spring Cloud Zuul 不中继访问 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41987313/

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