问题标签 [spring-cloud-security]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3329 浏览

spring-boot - Spring 云安全与 Spring 安全

我刚开始学习 Spring Cloud 安全性,我有一个基本问题。它与 Spring Security 有何不同?我们是否需要在 Spring Boot 上构建我们的应用程序才能使用 Spring Cloud Security?

提前致谢。

0 投票
1 回答
15560 浏览

spring-boot - 为什么我收到无效的 csrf 令牌?

我有一个带有 spring-cloud-security 的项目。它是用于 oauth 授权的 auth 服务器。它在过去工作得很好。

我添加了带有配置的 ssl 支持的弹簧配置文件:

使用此配置文件,身份验证工作正常,但是当我禁用它并通过 http 登录时,身份验证失败。

我该如何解决?

0 投票
1 回答
1413 浏览

spring-cloud - TokenRelayGatewayFilterFactory 保护所有 URL

我有一个项目https://github.com/ndrone/sample-gateway-oauth2login/tree/feature/allowAllToHealth我试图允许特定 URL 对任何请求它的人开放。在这种情况下,它是 Actuator 的健康端点,同时保护所有其他 Actuator 端点。我发现的是,TokenRelayGatewayFilterFactory尽管它仅设置为应用于一条路线,但它正在应用于所有路线。不知道我做错了什么。

资源服务中的 SecurityConfig

网关路由

0 投票
0 回答
320 浏览

azure - 如何使用 Spring Cloud Security 通过 Azure AD 进行单点登录

一些背景背景:我们想构建一个集中的安全服务来编排不同的身份验证服务器,例如我们自己的 Azure AD、外部 Azure AD、LDAP 等。我们正在使用 Spring Cloud 框架和 Azure。

第一步是构建一个使用 Azure Graph API 来管理我们自己的 Azure AD 的服务,这是我们能够做到的。

我们还能够对单个微服务进行身份验证和授权。

现在我们正在尝试使用 Azure AD 在我们的微服务上启用 oauth2 sso。经过大量时间研究,我们仍然无法使用 Azure AD 启用 sso。

我们正在使用@EnableOAuth2SsoOauth2RestTemplate。它似乎无法使用 Azure AD 进行令牌中继和 SSO。

我们的问题是:

  1. Spring Cloud Security 是否使用 Azure AD 进行 SSO?
  2. 如果是这样,怎么做?有什么指导吗?
  3. 如果没有,azure-active-directory-spring-boot-starter有没有办法通过使用 Spring Security 使用 Azure AD 进行 SSO 而不是使用?萨姆勒?
0 投票
1 回答
348 浏览

spring-cloud-feign - OAuth2认证的feign客户端不支持异步调用?

我正在开发一个使用Feign和OAuth2的spring cloud项目。项目中有一些耗时的操作,这些操作完成后会发送一些请求。为了获得更好的用户体验,这些操作被移到了异步方法中(使用@Async)。但是出现了一个问题。我将 OAuth2FeignRequestInterceptor 添加为 bean,并确保 Feign Client 可以在同步方法中正常工作(哪个线程在 RequestContextHolder 中具有正确的 RequestAttributes)。

但是如果我将这些操作移到异步方法中,就会抛出一个异常,即由于缺少RequestContext而无法创建scopedTarget.oauth2ClientContext。我搜索了stackoverflow.com并找到了一个解决方案: 如何在异步任务执行器中启用请求范围 使用 RequestContextListener bean 和这些代码,属于子线程的 RequestContextHolder 将填充父线程(请求线程)的 RequestAttributes。因为异步方法在调用 feign 客户端之前会花费一些时间,所以请求会在调用 feign 客户端之前得到响应。当请求得到响应时,RequestContextListener 将通过调用 RequestContextHolder.resetRequestAttributes();(RequestContextListener.java:76) 来重置 RequestContextHolder 中的 RequestAttributes,并使 RequestAttributes 中的请求处于非活动状态。当它完成耗时的任务并尝试通过 feign 客户端发送一些东西时,feign 客户端尝试从请求中获取 oAuth2ClientContext 并抛​​出异常:

我不确定 OAuth2FeignRequestInterceptor 在异步场景中从 RequestContext 检索授权信息是否合适。

感谢您阅读我的问题并希望得到您的回复。

0 投票
2 回答
1285 浏览

spring-boot - 带有入口 kubernetes 的 Spring Cloud oauth 2

是否可以将 spring cloud oauth 2 服务器与 kubernetes api 网关入口一起使用。

在拨打电话之前,我已将其与 zuul 一起使用来验证用户身份。我可以对入口做类似的事情吗?

编辑1:

为了更清楚地解释它,我想要实现的目标

我正在使用 spring cloud 提供的基于令牌的 oAuth2 实现。

  1. oauth 作为 zuul 背后的服务之一运行。
  2. zuul 为 oauth 服务器和资源服务器映射了路由
  3. 客户端通过zuul调用auth server并获取token。
  4. 客户端通过 zuul 调用资源服务器并传递令牌
  5. zuul 配置为在调用资源服务器之前验证令牌。

通过这种方式,我们可以阻止任何下游流量在没有有效令牌的情况下进行。

我们可以在集群中运行身份验证服务器的入口进行令牌验证吗?

0 投票
1 回答
1160 浏览

spring-security - 带有令牌中继的 Spring Cloud Security:响应具有空集 cookie 标头

我尝试构建一个最小的 openid 安全云环境。或多或少遵循https://developer.okta.com/blog/2019/08/28/reactive-microservices-spring-cloud-gateway

我有一个 spring 云网关、一个领事注册表、一个在 okta 上注册的应用程序和一个简单的测试应用程序,只有一个控制器返回一个字符串。网关和测试应用程序都依赖于'com.okta.spring', name: 'okta-spring-boot-starter', version: '1.4.0'.

网关配置如下(为简洁起见,此处跳过 ssl):

我添加了一个最小的安全配置:

测试应用程序还在 application.yml 中配置了 okta openid,就像在网关中一样:

我的问题是:

当我删除令牌中继并使测试应用程序不安全时,网关将成功进行授权,并且响应包含一个set-cookie标头,该标头可用于后续请求以再次运行所有授权流程。

但是,通过'org.springframework.cloud:spring-cloud-starter-security'(并配置为默认过滤器,如上所示)添加令牌中继,会返回一个空的 set-cookie 标头,因此运行的每个请求都会抛出整个授权流程。

我尝试了不同的解决方案,例如手动配置ReactiveOAuth2AuthorizedClientService. 我的方法都更像是猜测。

0 投票
1 回答
660 浏览

spring - 带有新 Spring Security Oauth2 和 Cognito 的 Spring Cloud Gateway

我正在尝试集成 Spring Cloud Gateway(带有 WebFlux)和 Amazon AWS Cognito。我花了将近一个星期,它仍然无法正常工作。我想使用 authentication_code 授权类型对 cognito 用户池中的用户进行身份验证。

这是我的设置:

这是我的 pom.xml

我面临的问题之一是:

以及其他一些随机问题。我从来没有看到 Cognito 的登录屏幕。如果您可以提供一些示例应用程序,它将很有帮助。

0 投票
1 回答
1655 浏览

spring-boot - spring security OIDC keycloak 无法获取权限和应用授权

我有 Spring Security Oauth2 应用程序,连接到 OIDC 服务器密钥斗篷,我能够连接并获取访问令牌并执行身份验证,但无法执行授权。

令牌的自省以 json 响应中的 Authorities 响应,如下所示。

但是,当我Authorities在日志中打印时,我无法在日志ROLE_APP1_ADMIN下方的打印中获取权限。

下边是HelloRest.java

应用程序.yml

最后pom.xml

如何使用带有 keycloak 的 Spring Security 应用授权?

0 投票
0 回答
1395 浏览

spring-cloud - Spring Cloud 认证服务

我正在尝试开发一个包含微服务的系统。一般来说,我的目标是:1.一些前端应用程序,2.Spring Cloud Gateway,3.Auth服务4.资源服务

我想要 gw 做的是:1. 验证每个请求的令牌,2. 防止未经身份验证的调用我们的服务。

我想要 auth-service 做的是:1.验证用户凭据,2.返回令牌成功

我开发了一个 gw 实例,过滤器扩展了 AbstractNameValueGatewayFilterFactory,因此我申请了应该保护的路由。

我不知道如何实现身份验证服务,不知何故无法与 Spring Cloud 一起通过 webflux 中的安全性。最终我想要一些类似的东西: https://medium.com/omarelgabrys-blog/microservices-with-spring-boot-authentication-with-jwt-part-3-fafc9d7187e8,但用反应式编写。有没有人看到这方面的好例子?或者也许你知道怎么做?