我正在尝试实现saml 2 SSO。
我的项目使用网关(端口8090)。认证逻辑位于第二个服务(端口8080)中,但我希望所有请求都通过网关。
我尝试实现这个功能,但最终重定向到了第二个服务localhost:8080/saml 2/authenticate/{registrationId}。我假设问题是调用身份提供者的服务(第二个)也必须接受请求,而不是将它们委托给网关。
也许有一些变通方法可以使此请求通过网关?
另外,我不能将此逻辑传输到网关,因为目前还不支持React式SAML。
我几乎没有安全方面的工作经验(尤其是SAML)。所以我将感谢任何帮助!
学历:
- 网关
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
<version>3.0.4</version>
</dependency>
字符串
- 第二个服务中的SAML依赖项
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-saml2-service-provider</artifactId>
<version>5.5.2</version>
</dependency>
<dependency>
<groupId>org.opensaml</groupId>
<artifactId>opensaml-core</artifactId>
<version>4.1.1</version>
</dependency>
<dependency>
<groupId>org.opensaml</groupId>
<artifactId>opensaml-saml-api</artifactId>
<version>4.1.1</version>
</dependency>
<dependency>
<groupId>org.opensaml</groupId>
<artifactId>opensaml-saml-impl</artifactId>
<version>4.1.1</version>
</dependency>
型
1条答案
按热度按时间t0ybt7op1#
最后我发现这可以用6版本的Spring安全配置来完成。
https://github.com/spring-projects/spring-security/issues/8873
字符串