Shibboleth IDP 4对接Moodle登录失败,依赖方出站消息端点解析报错求助
报错含义说明
Unable to resolve outbound message endpoint for relying party 'http://172.16.98.98/shibboleth': EndpointCriterion. 报错指Shibboleth IDP完成身份认证后,准备向对应SP发送SAML断言时,无法在已加载的元数据中匹配到符合规则的SP接收端点,无法确定断言的投递地址。
排查步骤
- 核对SP元数据的
AssertionConsumerService(ACS)端点配置,确认存在IDP默认支持的绑定类型,Moodle对接场景下常用绑定为urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST,同时确认端点地址和Moodle侧Shibboleth插件配置的ACS地址完全一致。 - 检查IDP侧SP元数据的加载状态,搜索
idp-process.log中对应entityID的加载日志,确认无解析报错、元数据被完整加载。可执行/opt/shibboleth-idp/bin/status.sh查看所有元数据提供器的运行状态,排查是否有元数据加载失败的情况。 - 检查IDP
conf/relying-party.xml配置,确认该SP的依赖方规则没有强制指定SP元数据中不存在的端点绑定类型;如果使用全局默认配置,确认默认出站绑定优先级包含SP元数据中已有的ACS绑定类型。 - 确认IDP侧存储的SP entityID和SP实际发布的entityID完全一致,注意大小写、末尾斜杠的差异,
http://172.16.98.98/shibboleth和http://172.16.98.98/shibboleth/会被识别为两个完全不同的实体ID。 - 核对Moodle侧Shibboleth认证插件的配置,确认认证请求中携带的ACS地址、entityID和SP元数据中发布的内容完全匹配,没有配置偏差导致IDP无法匹配到对应端点。
内容的提问来源于stack exchange,提问作者MTVS
相关产品推荐
相关产品推荐

