java - 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;;
我尝试过的,
- 根据https://docs.spring.io/spring-security-saml/docs/current/reference/htmlsingle/#d5e1940,我检查了
entityBaseURL
但它不起作用
有人可以提供输入吗?
提前致谢!!!
解决方案
推荐阅读
- laravel - Laravel Eloquent Carbon Error Trailing Data at Postgresql Timestamp Format with ms
- oracle11g - 在 plsq sql oracle apex 中捕获异常后会话过期
- c# - 在 SQL Server 中将日期时间字符串转换为日期
- r - R - ggplot - 排除一个值并在条形图上保留原始比率
- javascript - 为什么我使用 Fetch 从一个 api 调用中获取两组数据?
- c++ - 如何暂停函数内的程序,直到用户在表单上执行某些操作
- python - 打印出 Sphinx 指令来自的方法/函数名称
- node.js - 如何正确使用迁移
- excel - 通过运行 saveas 2003 xls 的连续循环,内存耗尽,重新打开 xlsm,关闭 2003 xls
- python-3.x - 如何使用 Selenium 和 Python 点击链接