首页 > 解决方案 > SAML POST /saml/SSO 重定向到 IP 地址而不是 DNS 名称

问题描述

我正在使用 spring-boot as auth0 作为 IDP 创建 SAML 服务提供程序并部署在服务器上。一切,使用 IP 地址按预期工作。但是当我使用时,DNS 名称开始失败。

这是我的代码,

http
          .authorizeRequests()
              .antMatchers("/saml*").permitAll()
              .anyRequest().authenticated()
              .and()
          .apply(SAMLConfigurer.saml())
              .serviceProvider()
                  .keyStore()
                      .storeFilePath(this.keyStoreFilePath)
                      .password(this.password)
                      .keyname(this.keyAlias)
                      .keyPassword(this.password)
                      .and()
                  .protocol("https")
                  .hostname("www.myserverdns.con")
                  .basePath("/")
                  .and()
              .identityProvider()
              .metadataFilePath("file:"+resource);

因此,当我点击“www.myserverdns.con/someAPI”时,呼叫转到“www.myserverdns.con/saml/SSO”,服务器重定向到“serverIP.address/someAPI”。

这是从 SAML 跟踪器获得的输出,

POST https://www.assesshub.com/assessws/saml/SSO HTTP/1.1

HTTP/1.1 302
Date: Wed, 18 Nov 2020 13:34:02 GMT
Server: Apache
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
X-XSS-Protection: 0; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Location: http://serverIP.address:8080/someAPI

注意:正如我所说,上面的代码可以正常使用 IP 地址,但只有在使用 DNS 名称时才会出现问题。

另外这里是应用程序日志,

2020-11-18 18:59:49.615  INFO 31467 --- [nio-8443-exec-4] o.s.security.saml.log.SAMLDefaultLogger  : AuthNRequest;SUCCESS;serverIP.address;https://server.dns.name/saml/metadata;urn:dev-***.us.auth0.com;;;
2020-11-18 19:04:01.251  INFO 31467 --- [nio-8443-exec-3] o.s.security.saml.log.SAMLDefaultLogger  : AuthNRequest;SUCCESS;serverIP.address;https:/server.dns.name/saml/metadata;urn:dev-***.us.auth0.com;;;
2020-11-18 19:04:02.058  INFO 31467 --- [nio-8443-exec-5] colMessageXMLSignatureSecurityPolicyRule : SAML protocol message was not signed, skipping XML signature processing
2020-11-18 19:04:02.064  INFO 31467 --- [nio-8443-exec-5] o.s.security.saml.log.SAMLDefaultLogger  : AuthNResponse;SUCCESS;serverIP.address;https://server.dns.name/saml/metadata;urn:dev-***.us.auth0.com;auth0|5fac201d954ba3006f0a39c2;;

我尝试过的,

  1. 根据https://docs.spring.io/spring-security-saml/docs/current/reference/htmlsingle/#d5e1940,我检查了entityBaseURL但它不起作用

有人可以提供输入吗?

提前致谢!!!

标签: javaspring-bootsaml-2.0spring-saml

解决方案


推荐阅读