2013-05-09 35 views
0

在我們的SSO方案中,我們使用ADFS 2.0作爲IDP,Shibboleth作爲SP。這是SP發起的登錄。配置完成後,當我嘗試在Shibboleth和ADFS 2.0之間建立通信(拋出瀏覽器重定向)時,ADFS 2.0拋出以下錯誤。ADL 2.0中的SAML 2簽名錯誤

SAML消息簽名驗證失敗。 消息發佈者:http://sampleserver/adfs/services/trust 異常詳細信息: MSIS1015:服務器需要簽名的SAML AuthenticationRequest,但沒有簽名。

事件ID - 320 相關事件ID - 364

> Microsoft.IdentityServer.Service.SamlProtocol.SamlProtocolSignatureVerificationException: 
> MSIS1015: Server required signed SAML AuthenticationRequest but no 
> signature present. at 
> Microsoft.IdentityServer.Service.SamlProtocol.SamlProtocolService.ValidateSignatureRequirements(SamlMessage 
> samlMessage) at 
> Microsoft.IdentityServer.Service.SamlProtocol.SamlProtocolService.Issue(IssueRequest 
> issueRequest) at 
> Microsoft.IdentityServer.Service.SamlProtocol.SamlProtocolService.ProcessRequest(Message 
> requestMessage) 

我們沒有使用任何簽名呢。我還在ADFS屬性中將SignedSamlRequest設置爲false。在Shibboleth簽署SAML也被禁用。

我在Microsoft網站上找不到任何信息 - 除了這種錯誤的通用指南。

請對此錯誤提出建議。

回答

0

經過多次分析,我能夠找到解決方案。這是一個Shibboleth配置問題。在應用程序默認值部分中,實體ID應該是應用程序唯一的。

ApplicationDefaults簽約= 「假」 ENTITYID = 「HTTP:受保護的應用// URL」 REMOTE_USER = 「EPPN持續-ID針對性-ID」

發生此錯誤的另一個變化時sigining設置爲true。這將導致ADFS中的Signature不匹配錯誤。