Spring Security SAML Extension支持在Spring应用程序中无缝包含SAML 2.0 Service Provider功能。
Spring SAML:由于 JSESSIONID cookie 被阻止,单点注销失败
我们的应用程序使用 spring-security 4.2.1 和 spring-security-saml2-core 1.10.0 实现 SAML 单点登录。 SLO 无法正常工作。当在不同的应用程序中注销时,SLO r...
在 Spring Security SAML 身份验证请求中配置 POST ProtocolBinding
Spring Security SAML 坚持在 SAML 身份验证请求中请求 Artifact 绑定(ProtocolBinding 属性): Spring Security SAML 坚持在 SAML 身份验证请求中请求 Artifact 绑定(ProtocolBinding 属性): <saml2p:AuthnRequest xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" AssertionConsumerServiceURL = "http://sp.com/saml/SSO/alias/defaultAlias" Destination = "https://idp.com/idp" ForceAuthn = "false" ID = "a4acj06d42fdc0d3494h859g3f7005c" IsPassive = "false" IssueInstant = "2012-12-05T17:07:18.271Z" ProtocolBinding = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" Version = "2.0" > 如何配置 POST 绑定? 感谢您的回答! -- 安德烈亚斯 感谢 nobby 和 Sanjeev,我最近将其应用于类似的案例,它让我走上了正确的道路。 作为 Spring Security SAML2 扩展的新手,我必须进行一些额外的挖掘才能应用 WebSSOProfileOptions。 本质上,要在 SAML 身份验证请求上获得 HTTP-POST 绑定,您需要将配置文件选项传递给 org.springframework.security.saml.websso.WebSSOProfileImpl#sendAuthenticationRequest() 方法。 对于我们的配置,它与 Spring RC2 示例项目中的 config 非常相似,这意味着将 WebSSOProfileOptions bean 传递给 samlEntryPoint.defaultProfileOptions 属性(或在其中添加绑定属性),如 Sanjeev 的解决方案中所述。 问题是,这并没有导致 AuthnRequest 拾取所设置的绑定属性。 在我们的例子中,我们的 SAML 元数据在 HTTP-Artifact 绑定 isDefault=true 上指定 AssertionConsumerService。 在我们的 Spring Security SAML2 库的 RC2 版本中,这是 org.springframework.security.saml.metadata.MetadataGenerator 的默认行为。 可以通过设置 MetadataGenerator 的 assertionConsumerIndex 属性来覆盖此设置。 在我们的例子中,HTTP Post 断言使用者在索引 1 处配置。 <bean id="metadataGeneratorFilter" class="org.springframework.security.saml.metadata.MetadataGeneratorFilter"> <constructor-arg> <bean class="org.springframework.security.saml.metadata.MetadataGenerator"> <property name="assertionConsumerIndex" value="1" /><!-- 1=HTTP-POST --> </bean> </constructor-arg> </bean> 在 securityContext.xml 中可以设置 sp 启动的绑定。下面的示例使用了 HTTP-POST <bean class="org.springframework.security.saml.websso.WebSSOProfileOptions"> <property name="includeScoping" value="false"/> <property name="binding" value="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"/> </bean> 绑定的值可以在 org.opensaml.common.xml.SAMLConstants 类中找到。 对于任何想要使用 Java 而不是 XML 进行操作的人: @Bean public WebSSOProfileOptions profileOptions() { WebSSOProfileOptions profileOptions = new WebSSOProfileOptions(); profileOptions.setIncludeScoping(false); profileOptions.setBinding(SAMLConstants.SAML2_POST_BINDING_URI); return profileOptions; } 和: @Bean public MetadataGeneratorFilter metadataGeneratorFilter() { return new MetadataGeneratorFilter(metadataGenerator()); } public MetadataGenerator metadataGenerator() { MetadataGenerator metadataGenerator = new MetadataGenerator(); metadataGenerator.setAssertionConsumerIndex(1); // ... return metadataGenerator; }
Spring Security SAML:仅接受来自 IDP 的签名 SAML 响应消息
我们在 Java 应用程序中使用 Spring Security SAML (v1.0.3) 来通过 IDP 实现 SAML SSO。 要求:仅接受来自 IDP 的签名 SAML 响应消息,如果 SAML 响应未签名,则...
如何在Spring Boot Controller中获取SAML RelayState?
我可以通过SecurityContext访问SAMLCredential来获取Spring SAML 1中的RelayState。 SAMLCredential saml = (SAMLCredential) SecurityContextHolder.getContext() ...
如何使用 Spring Security SAML 扩展签署 SAML 请求/响应
我能够使用 Spring Security SAML 扩展让我的应用程序充当具有 IDP SSOCIRCLE 的 SP。我的客户有以下要求: 1. 签署断言:断言
我有一个网站www.example.com。我的网站很少有客户(企业),假设他们是 C1 (www.c1.com)、C2 (www.c2.com) 和 C3 (www.c3.com)。我想启用 Okta SAML 身份验证...
ADFS spring-saml 依赖方未配置 AssertionConsumerService
saml 与 ADFS idp。 rutime 错误,sp 未签名元数据在 adfs idp 中导入时没有问题,但我在运行时遇到问题: idp 身份验证后,身份验证成功...
如何解决 Spring SAML2 SLO 中的 POST 请求 405 错误
我正在尝试实现 Spring Security SAML2 SSO/SLO 并成功实现了 SSO,但是当我尝试遵循 Spring security 文档来实现 SLO 时,我得到了这个 405 Method Not allowed
java.lang.ClassNotFoundException:(org.owasp.esapi.reference.JavaLogFactory)必须位于类路径中并且随机化器类CTOR抛出了exc
我目前正在使用 esapi 2.0.1 版本 jar 并尝试将其升级到 esapi 2.5.2.0 jar 以修复 cwe_id=CWE-310。我收到这些错误“org.owasp.esapi.errors.ConfigurationException:...
配置 SAML2:绕过“InResponseTo”验证,同时保留 OpenSaml4AuthenticationProvider 中的默认设置
我有一个在 Nginx 和 Spring Security 后面运行的 Java 后端应用程序用于 SSO。我的后端应用程序缺乏记住 cookie 会话的机制,因为 SSO 请求可能由...发起
Springboot keycloak SAML 无法解析任何签名凭证
我正在致力于将 keycloak SAML 与 springboot 3 应用程序集成。 它是一款具有一个端点的简单休息应用程序。 当调用 API 时,它不会被重定向到 keycloak 登录,而是......
我已成功部署并运行 spring saml 示例。从如下所示的 SAML 响应(IdP -> SP)中,可以识别是否: SAML 响应已签名还是未签名? 断言是加密的...
我使用 spring SAML2 创建了一个项目,我正在尝试将其与 Azure AD 集成,现在单点登录流程看起来不错,但单点注销无法正常工作。 我调试了 spring SAML2
在 Spring 5 中为 SAML 身份验证配置多个身份提供商 (IDP)
我已按照教程 https://isd-soft.com/tech_blog/diving-sso-spring-saml-ssocircle/ 中提供的指导,使用 Spring 5 成功实现了基于 SAML 的单点登录 (SSO) 。配置...
升级 Spring boot 2.6 -> 2.7 后出现错误 `InResponseTo 属性 [ARQ...] 与身份验证请求 [ARQ...] 的 ID 不匹配
背景和问题 我们使用 Spring Boot 2.6,并使用 simpleSamlPhp 1.18.8 作为在 Docker 中运行的本地 idp 服务器,可通过 host.docker.internal 访问我们的测试/开发环境。该应用程序...
后续请求相关的 SAML 错误响应包含 InResponseTo 属性 [],但未找到已保存的身份验证请求
我已经为我的 Spring Boot 应用程序实现了 SAML 和 Okta 集成。这是 SP 发起的流程。一切都工作正常,直到部署到服务器上。 我收到此错误“...
Spring-boot-starter-upgrade-3.0 SAML sso 问题
问题: 最初我们使用 spring-boot-starter-parent 版本 - 2.0.5.RELEASE 编写 Spring Boot 应用程序。作为 应用程序我们需要 SAML SSO,因此我们使用 spring-security-saml2-core 版本 - 1...
Spring SAML:更新元数据提供程序不会更新使用的签名证书
我最近实现了一个 Spring SAML 解决方案,该解决方案允许客户向服务注册其 IdP 元数据并使用其 SAML 身份验证来访问我的 SP。 IdP 元数据存储在...
spring security 6 中不存在authenticationManger 方法,Saml Config 迁移
我们正在将 springboot 应用程序迁移到 springboot 3.x。在最新版本的springboot中,我看到spring-security升级到了版本6。 在此版本中 WebSecurityConfigurerAdapter 是
我们的 IdP 正在更新其 IdP 元数据中的证书。 他们提供一个月的期限,新旧证书都有效,以便我们可以切换到新证书。 问题是,