问题标签 [spring-saml]

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

spring-security - Spring Security中的多个预授权过滤器?

我需要有多个PRE_AUTHSpring Security 过滤器。特别是,除了在 Spring Security 3.0 的 SAML 扩展中PRE_AUTH配置的两个过滤器之外,我还需要使用一个过滤器。PRE_AUTH现有的 SAML 配置如下。

额外的PRE_AUTH过滤器需要在任何一个现有过滤器之前进行检查(即:不应给予使用此身份验证方法进行身份验证的用户使用 SAML 的机会。

我考虑用以下方式改变它。

这会起作用,还是需要更复杂的解决方案。

0 投票
1 回答
1720 浏览

spring-security - 春季 SAML 2.0

我最近继承了一个使用 Spring SAML 2.0 的项目,但代码似乎没有验证 X509 证书。我可以看到它正在验证时间戳和签名值,而不是证书本身。我在查找清楚解释验证证书过程的文档时遇到了一些麻烦,这里是否有人可以找到我想要的信息或有能力解释它。

0 投票
1 回答
15134 浏览

spring-security - Spring Security SAML - 无法验证签名

我在 Tomcat 7 上使用 Spring Security SAML 2.0 示例 webapp,并对其进行了修改以尝试使其针对 Ping Identity 服务进行身份验证。webapp 正在与服务对话,它正在发回一个断言,但在尝试验证签名时失败,如下面的调试输出所示:

我知道它无法验证签名,并且我已获得 Ping Identity 管理员的证书以供使用,但我不确定如何将其包含在应用程序中。我尝试使用 JDK 的 keytool 程序将其添加到示例应用程序附带的 JKS(密钥库)中,但似乎无法在其中找到它。我还尝试将其添加到服务提供商的元数据 xml 文件中,如下所示:

但是它仍然返回相同的错误。

是否有我应该放置证书以验证签名的特定位置?一般来说,我对 SAML 和应用程序安全性比较陌生,所以如果我使用了错误的术语,我深表歉意。

0 投票
2 回答
20157 浏览

spring - HttpSession 为 SPRING_SECURITY_CONTEXT 返回了空对象

我正在尝试将Spring Saml 库集成到示例 Web 应用程序中,使用 Shibboleth 作为 IDP。我能够加载登录页面,登录并显示索引页面。

问题是当我点击其他链接时,webapp 将我重定向到登录页面,然后 IDP 识别我并重定向到请求的页面(如果网络速度很快,很难看到这一点)。就像我没有登录 Spring 安全性一样。

我检查了日志,发现了这个:

org.springframework.security.web.context.HttpSessionSecurityContextRepository - HttpSession 返回了 SPRING_SECURITY_CONTEXT 的空对象 将创建一个新的。

这是 web.xml

和 securityContext

任何的想法?

谢谢伊曼纽尔

0 投票
2 回答
4319 浏览

spring - 在 Spring Security SAML 身份验证请求中配置 POST ProtocolBinding

Spring Security SAML 坚持在 SAML 认证请求中请求 Artifact 绑定(ProtocolBinding 属性):

如何配置 POST 绑定?感谢您的任何回答!

——安德烈亚斯

0 投票
1 回答
2769 浏览

java - Spring SAML 实现无法解析对 bean 的引用

在我的 Vaadin 应用程序项目中,我想集成 spring-security-SAML 扩展。我从 spring 安全扩展页面下载了源代码。根据手册,我使用 mvn package 打包了扩展,并使用 mvn deploy 命令将其部署在本地 maven 存储库中。一切顺利。已编译的扩展出现在 Maven 存储库中。所以我将它作为依赖项包含在项目 pom.xml 文件中,如下所示:

之后我更新了 maven 项目并在 maven 依赖目录中找到了 spring-security-saml2-core-1.0.0-RC1-SNAPSHOT.jar(我正在使用 Maven 的 Eclipse IDE)。我做的下一件事是编辑appLicationContext.xml文件。applicationContext.xml文件包含在 web.xml 中。所以我在appLicationContext.xml文件中添加了以下几行:

在对文件进行此类更改后,我将我的项目编译为战争存档并尝试将其上传到 glassfish 服务器。但后来我得到一个错误:

我发现了几个具有此类问题的主题,但库不同。没有人可以帮助我解决我的问题。看起来 org.springframework.security.saml.SAMLAuthenticationProvider 无法在战争档案中找到或解决。但是我手动查了一下,在WEB-INF/lib文件夹spring-security-saml2-core-1.0.0-RC1-SNAPSHOT.jar找到了。我还检查了 jar 存档并找到了 SAMLAuthenticationProvider.class。有谁可以帮我解决我的问题。也许有人对 Spring 安全性和 saml 扩展有经验。

0 投票
0 回答
2388 浏览

spring-security - Spring-Security 重定向错误

我正在研究 Vaadin spring-security SAML 身份验证系统。问题是 - 当用户转到 vaadin 应用程序地址(如果它没有经过身份验证)时,它必须被重定向到 IDP 登录页面。但是代替此重定向(地址栏中的地址更改)我收到一个错误:无法加载小部件集:

/my_vaadin_app/VAADIN/widgetsets/com.vaadin.terminal.gwt.DefaultWidgetSet/com.vaadin.terminal.gwt.DefaultWidgetSet.nocache.js?1359109584453

我的 securityContext.xml 文件

还有我的 web.xml 文件

有没有人建议为什么会发生这种情况。我读到 vaadin 只做某种内部重定向并且不理解外部重定向。

0 投票
1 回答
731 浏览

spring - java.lang.VerifyError: org/springframework/beans/factory/xml/XmlBeanDefinitionReader.setEntityResolver(Lorg/xml/sax/EntityResolver;)V

我正在尝试将 spring saml 扩展与我们的 JSF 2.0 Web 应用程序集成。我收到这个奇怪的错误。

我能够部署位于 https://github.com/SpringSource/spring-security-saml的示例应用程序,它是 Spring mvc 应用程序“java.lang.VerifyError”

现在我正在尝试将更改插入到我的 JSF 应用程序中,我只能在应用程序启动期间看到。

0 投票
1 回答
2804 浏览

spring - 带有 OPENAM 的 Spring Security SAML 扩展

所以这里是场景。

我有我的网络应用程序 <==> IDP 代理 <==> IDP。IDP 代理和 IDP 都是 openam 实例。我们的想法是我们可以添加额外的 IDP(来自其他客户端),因此我们需要一个代理来屏蔽复杂性。

所以这里的 IDP 代理是:http://idpproxydev.devs1.int:8080/ openam

IDP 网址为: http://idpdev.devs1.int:80/ openam

我的网络应用程序是:http ://ocr-jq0zt91.devs1.int:9081/LOS

我开始使用 http://static.springsource.org/spring-security/site/extensions/saml/index.html 进行集成,现在我看到 SAML: request wassent from my web app 。

我现在遇到的问题是,当我使用 Fedlet(在 IDP 代理上使用 Openam 生成的客户端)测试我的设置时,请求转到代理,然后路由到 IDP,因为 Fedlet 生成的 SAML 请求具有附加信息,是 SAML 请求中的这个片段吗

所以我看到的唯一区别是 FEDLET 生成的 SAML 请求中的额外负载。

因此,通过在 SAML 请求中看到上述代码段,IDP 代理知道最终目的地不是它自己(http://idpproxydev.devs1.int:8080/openam),而是另一个实体,在这种情况下是http://idpdev。 devs1.int:80/openam

Fedlet 具有扩展元数据的附加属性文件 (sp-extended.xml),我们可以在其中添加这些附加内容。

但是在 spring saml 安全库中,我看不到任何可以添加这些附加属性的方式,以便 SAML 请求可以包含此信息。有没有办法可以提供上面列出的其他属性?

这样当我的网络应用程序发送请求时,spring saml 扩展程序可以读取?

0 投票
1 回答
14330 浏览

spring-security - 配置 saml-sample (SP) 以使用 Okta (IdP)

Okta 是用于 SAML 登录的 IdP。我有一个 Okta 的超级管理员用户。

我尝试使用 Spring 的 saml-sample 项目作为我的 SP(服务提供者)。当我在 Okta 系统中配置它(spring-saml-sample)时,我需要在我的 SP 上提供一些数据,例如“回发 URL”、“收件人”和“受众限制”。

在阅读 Okta 的文档后,我发现了这一点:

受众限制——这是服务提供商的实体 ID。它将由 SP 提供并且必须完全匹配。请查阅 SP 文档以获取此信息。

Recipient – 输入服务提供者的断言消费者服务 URL。请查阅 SP 文档以获取此信息。所以我发现这个 URL 应该是: http ://srv101.watchdox.net/spring-security-saml2-sample/saml/SSO/alias/defaultAlias

Post Back URL – 这是 SAML SP 端点(即您的用户将登录的位置)

SAML 响应的目的地——这是 saml 断言的预期目的地。除非 SP 指定,否则这通常与回发 URL 相同。请查阅 SP 文档以获取此信息。

问题:

我的应用程序(spring-saml-sample)有一个“欢迎”页面,用户可以在其中选择他想要登录的 IdP。所以我选择“Okta”IdP,然后我被重定向到 Okta 登录(直到这里完美),但登录后,我没有将我重定向回我的应用程序(到受保护的资源),而是留在 Okta系统并查看他们的框架。我确实在那里看到了我的应用程序。当我点击它时,我会进入我的第一页,选择 IdP。

我认为问题出在我的 URL 或 SAML 响应上…… Anyonw 有想法吗?

在这里粘贴请求和响应,如果可能有帮助。

我在此处粘贴了 SAML 请求和响应,以防万一。请注意,响应中的状态代码是“成功”!

有什么问题?我错过了什么?

要求:

SAML 请求:

奥克塔回应:

SAML 响应:

感谢您的任何回答!