【发布时间】:2015-11-14 13:56:55
【问题描述】:
我为 Spring 的 SAML 扩展引入了示例 Java configuration project。在我写下这个问题时,似乎已经有大约六个月没有对该项目进行任何提交。除了运行maven package 之外,我没有对这个项目做任何事情。
然后我在 Spring Tool Suite 中将应用程序作为 Spring Boot 应用程序运行,并且应用程序运行;但是,应用程序无法正常运行,并且应用程序端点不可访问(导致错误消息):“错误:身份验证过程出错”。
我还没有注册任何证书等(很可能需要)。 GitHub 项目没有提供有关启动或使用该应用程序的说明。我故意没有发布项目的内容,因为我没有修改它。
错误信息
来自 Chrome 开发者。工具,我可以看到从请求返回到localhost:8080 应用程序的500 Internal Server Error。所以,问题肯定出在示例应用程序上(或者我没有做过的事情)。
以下错误记录到控制台在应用程序部署中(我已经包含了图像和文本,因为文本很难格式化):
文字:
[2015-08-20 14:41:40.551] 启动 - 9908 信息 [localhost-startStop-1] --- HttpMethodDirector:处理时捕获的 I/O 异常 (javax.net.ssl.SSLPeerUnverifiedException) 请求:SSL 对等方的主机名验证失败:46.4.112.4
[2015-08-20 14:41:40.551] 启动 - 9908 INFO [localhost-startStop-1] --- HttpMethodDirector:重试请求
[2015-08-20 14:41:40.795] 启动 - 9908 错误 [localhost-startStop-1] --- HTTPMetadataProvider: 从 https://idp.ssocircle.com/idp-meta.xml 检索元数据时出错 javax.net.ssl.SSLPeerUnverifiedException:SSL 对等主机名失败 名称验证:46.4.112.4
在 org.opensaml.ws.soap.client.http.TLSProtocolSocketFactory.verifyHostname(TLSProtocolSocketFactory.java:233)
在 org.opensaml.ws.soap.client.http.TLSProtocolSocketFactory.createSocket(TLSProtocolSocketFactory.java:194)
我已经访问了 ssocircle 提供的 url 端点并且元数据被暴露了。
如果我访问服务提供商的/saml/metadata 端点并获得一些有用的信息:org.opensaml.saml2.metadata.provider.MetadataProviderException 异常。如果是“未配置 IDP,请使用至少一个 IDP 更新包含的元数据”的描述;但是,其根源可能是上述错误。
问题
我是否遗漏了启动示例应用程序时显而易见的内容?换句话说,这个错误告诉我我需要调查什么?或者,因为它是“不间断的”,我应该忽略它吗?
我为什么要问
围绕示例 Java 配置应用程序部署的文档很少(如“不存在”)。自文档仅提供“提示”,例如:
// IDP Metadata configuration - paths to metadata of IDPs in circle of trust is here
// Do no forget to call initialize method on providers
@Bean
@Qualifier("metadata")
public CachingMetadataManager metadata() throws MetadataProviderException {
List<MetadataProvider> providers = new ArrayList<MetadataProvider>();
providers.add(ssoCircleExtendedMetadataProvider());
return new CachingMetadataManager(providers);
}
我确信有些事情我没有做,特别是因为除了上面描述的mvn package 的运行之外,我在应用程序的部署中没有做任何事情。
【问题讨论】:
-
我对 Spring SAML 完全陌生。欢迎任何帮助我改进问题的 cmets。
标签: java spring spring-security saml-2.0 spring-saml