问题标签 [spring-security-saml2]

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 回答
615 浏览

java - 使用 Spring Security 到 Oauth2 的 SAML

所以我遇到的问题是,SAML 已经在项目中实施,使用 spring-security-saml 与联邦 IDP 集成。

现在我需要保护从无法保留 JSESSIONID 的地方发生的 REST API 调用,所以我想交换从联邦到 JWT 的 SAML 断言以提供回客户端,以便它可以在身份验证标头中使用.

现在我有点迷茫,我试图使用 spring-security-jwt 中的 JwtAccessTokenConverter 创建一个 JWT 令牌,但不知道如何将它与 SAML 粘合在一起。

有人可以对此有所了解吗?或者,关于如何使用我不知道的 SAML 保护 REST API 可能还有另一种选择。

谢谢!

0 投票
1 回答
1152 浏览

spring-boot - Spring Boot SSO 是基于 JWT 的吗?

我想知道 Spring Boot SSO 实现是基于 JWT 还是在服务器内存中保持会话打开?

提前致谢。

0 投票
1 回答
1822 浏览

java - SAMLException:从身份提供者启动时,“断言因缺少受众限制而失效”

SAMLException:当我尝试进行 saml 登录并从身份提供程序站点启动而未启动请求表单服务提供程序站点时,出现以下错误“断言因缺少受众限制而失效”。

我的 SP 元数据:

我有的例外:

任何人都可以帮助我吗?

0 投票
1 回答
1321 浏览

single-sign-on - java.lang.IllegalArgumentException:在过滤器链中的其他模式之前定义了通用匹配模式('/**'),导致它们被忽略

尝试将 SAML 2 与 Spring Security 集成到我的 web 应用程序时遇到问题。

我在用着:

  • spring-security-saml2-core 1.0.3.RELEASE

  • spring-security-web 3.2.3.RELEASE

  • 弹簧安全配置 3.2.3.RELEASE。

安全上下文.xml

当我尝试运行服务器时,出现异常:

提前谢谢,请给我建议。

0 投票
1 回答
8912 浏览

maven-dependency - Spring SAML:在使用版本 1.0.4.RELEASE 作为 maven 依赖项时找不到工件

我正在尝试将spring-security-saml2-core-1.0.4.RELEASE我的项目用作 maven 依赖项并在以下情况下遇到两个问题mvn install

  1. 失败"Could not find artifact xml-apis:xml-apis:jar:1.4 ... "我在 Maven 存储库和build.gradle文件中列出的存储库中都没有找到 1.4 版本的 xml-apis 依赖项。作为一种解决方法,我被迫向我的项目添加版本略有不同的显式依赖项:

    /li>
  2. 失败:"Could not find artifact org.opensaml:opensaml:jar:2.6.6 ..." and "Could not find artifact ca.juliusdavies:not-yet-commons-ssl:jar:0.3.17 ..."。作为一种解决方法,我被迫添加显式的 maven 存储库,以便我能够在我的项目中找到工件:

    /li>

是否可以在不声明显式依赖项和存储库的情况下处理构建问题?

0 投票
1 回答
225 浏览

spring-security - 由于重写,未找到端点 URL

我们在项目中使用Spring Security扩展SAML2。目前我们想从版本 1.0.0 升级到 1.0.3 但遇到了问题。

我们的应用程序正在运行,Tomcat它前面有一个 Apache 网络服务器。网络服务器执行 URL 重写,这意味着到达 Tomcat 的请求与网络服务器上的请求具有不同的 URL(例如,在网络服务器上它是“/saml/SSO”,但在 Tomcat 中它是“/ctx/saml/SSO”) .

我将问题追溯到在 SAMLUtil.getEndpoint(...) 中完成的检查,它期望传入和配置的端点 URL 完全相等,但由于重写,我们的情况并非如此。(实际上,此方法的行为在 1.0.0 和 1.0.3 之间发生了变化。)

我正在考虑一些变通方法来解决这个问题,但我想知道我们是否是唯一拥有它的人。我希望在网络服务器中重写 URL 并不少见。有没有我不知道的简单解决方案?

0 投票
1 回答
485 浏览

spring-security - SAML 断言失败

我有一个使用 Okta 作为 IDP 的 Spring-SAML 应用程序。我正在做 IDP 发起的流程并得到这个异常:

当我查看本地元数据时,我看到:

看起来它正在尝试将包含主机名的 URL 与具有服务器 IP 地址的 URL 匹配。位置字段是自动生成的。有谁知道什么配置选项会影响这个?


更新 1

这是我的 metadataGeneratorFilter 配置:

0 投票
1 回答
3599 浏览

spring - Keycloak 和 Spring SAML:SigAlg 为空

我正在尝试使用 Spring Security、Spring Security SAML 和 Keycloak 设置 POC。为此,我使用了 Spring SAML 核心项目提供的 simple-service-provider 示例。

只要 Keycloak 不需要客户端签名(禁用客户端签名),我就设法使 SAML 设置正常工作。当我启用此选项时,我在 Keycloak 中收到以下错误和堆栈跟踪

Spring配置如下

这是一个发送到 keycloak 的示例请求

我尝试了不同的组合,但是一旦 Keycloak 验证签名,就会引发异常。Keycloak 中导致异常的代码是这样的:

我在这里做错了什么?还是 Spring Saml 的 Keycloak 中的错误?我正在使用 Keycloak 4.0.0.Beta2,但在最新的 v3 中也出现了同样的问题。我从 github 中提取了最新的 spring-security-saml 代码(2.0.0.BUILD-SNAPSHOT,48ccd77ebabb5465af81a53b7095cdfb466a62b5)。

0 投票
2 回答
1466 浏览

java - Spring Security SAML2 未找到 entityID

我正在努力让我的 Spring Boot (v. 2.0.1) 应用程序与 SSO 提供程序一起工作。当我尝试点击登录页面时,出现以下错误:

未配置托管服务提供商且未选择别名

当我尝试点击发现页面时,出现以下错误:

必须指定实体 ID 参数

两者似乎都是因为缺少 entityID。我不清楚丢失的是 SP 还是 IDP entityID。我的应用程序在 bean 中设置 entityId,如下所示:

并且正在读取 IDP 的元数据 XML(我可以看到它在启动过程中被解析过)并包含一个 entityID。

在此过程中,某些 entityID 会丢失并产生这些错误。我似乎无法追踪这是如何发生的。

0 投票
1 回答
620 浏览

java - 如何在运行时从数据库动态加载身份提供者 (IdP) Sprint Security SAML

在使用 Spring Security Extension for SAML 2.0 时,有没有办法在运行时从数据库添加新的 IdP

如何通过在运行时从用户获取所需属性而不重新启动服务器或应用程序,将新的身份提供者添加到 Java Web 应用程序中。

以及需要将哪些所有通用属性(如 entityId、SSO 身份验证 URL 和公共 X.509 证书)作为输入,以便在不重新启动服务器的情况下将新 IdP 添加到现有 Web 应用程序中。