我正在尝试熟悉 Shibboleth 2.5.3 和 Active Directory 联合身份验证服务(尝试了 2.0 和 3.0)。我想要实现的是让 Apache 服务器使用 Shibboleth 作为 SP 针对 ADFS 作为 IdP 进行身份验证。为此,我设置了一个带有 Apache 和 Shibboleth 的 Ubuntu VM 以及一个带有 ADFS 的 Windows Server VM。
如果我理解正确,我需要将 Shibboleth 作为依赖方信任添加到 ADFS。为了做到这一点,我需要 Shibboleth 在 处生成的元数据https://shibboleth/Shibboleth.sso/Metadata
。但是,这不起作用,因为 Shibboleth 尝试从 ADFS 获取元数据,如shibboleth2.xml
<SSO>
标签 ( https://winserver.testdomain.com/adfs/services/trust
) 中所述。下面的所有内容adfs/services
都返回 HTTP 503 错误。其他地方推荐的解决方案似乎都无法解决这个问题(重新启动 IIS,摆弄证书)。我还找不到任何协议 503 错误的日志文件。
我做错了什么?可能我只是没有正确理解这个概念...
答案1
这里确实有太多问题!
我想解决第一个问题:生成 shibboleth SP 元数据。
您可以使用该工具:(shib_metagen
在 Debian 中它位于shibboleth-sp2-utils
包中)。
在其中shibboleth2.xml
指定联合元数据的位置。如果您计划让 SP 从 IdP 下载它,则需要查看 ADFS 文档。但您也可以将 IdP(ADFS 服务器)的 xml 元数据作为文件包含在内。
shibboleth2.xml 中的标签SSO
与元数据无关:它包含entityID
IdP 的。元数据内容位于MetadataProvider
元素中。