2015-05-20 66 views
2

saml上配置了ADFS idp。 rutime error, sp非簽名元數據在adfs idp中導入時沒有問題,但是 我在運行時遇到問題: 在idp驗證後,在成功驗證上,在idp頁面上出現如下信任錯誤:ADFS spring-saml No AssertionConsumerService在依賴方

The request specified an Assertion Consumer Service URL 
'https://test.it/au/login' that is not configured on the relying party  'microsoft:identityserver:test.it'. 
Assertion Consumer Service URL: https://test.it/au/login Relying party:  microsoft:identityserver:test.it 
that is a prefix match of the AssertionConsumerService URL  'https://test.it/au/login' specified by the request. 
This request failed.  

MY SP元數據是這樣的:

<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"  ID="test.it" entityID="test.it"> 
<md:SPSSODescriptor AuthnRequestsSigned="false" 
WantAssertionsSigned="false"  protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"> 
<md:KeyDescriptor use="signing"> 
<md:AssertionConsumerService   Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" 
Location="https://test.it:443/au/login" index="0" isDefault="true"/> 

我可能會增加: 如果我從/adfs/ls/idpinitiatedsignon.htm 啓動身份驗證過程,我選擇我的SP提供商(所以我排除saml2p上的問題:AuthnRequest) 有一個帖子重定向到https://test.it/au/lo杜松子酒「 我不知道我在idp上的端點有多糟糕的空間。

我發現這篇文章似乎解釋短期 http://social.technet.microsoft.com/wiki/contents/articles/4039.ad-fs-2-0-the-request-specified-an-assertion-consumer-service-url-that-is-not-configured-on-the-relying-party.aspx 它說:

有兩種選擇:

  1. 配置RP這樣在AuthnRequest

  2. 沒有指定AssertionConsumerService被
  3. 配置RP在AuthnRequest中發送一個AssertionConsumerService值,該值匹配 AssertionCo AD FS 2.0中RP Trust的Endpoints選項卡上的nsumerService值。

你覺得呢

,如果我生成ENTITYID元= 「https://test.it:443/au/login」 代替ENTITYID = 「test.it」 能避免這種情況安全問題 ?

或者我應該刪除saml中的AssertionConsumerService:request(是否可以通過配置)?

還是應該用idp manager做更好的配置?

在此先感謝

亞歷山德羅

回答

2

不知道這是否就是你面臨着同樣的問題,但我有同樣的錯誤結束,問題是,我沒有加入我的說法端點上我的服務提供商作爲身份提供商的AD FS中的SAML斷言消費者端點。

值得一試,無論如何:)在IdP上的mmc上,添加AD FS管理單元。然後在AD FS>Relying Party Trusts下找到您的SP配置。礦被稱爲Test SSO。右鍵單擊它,選擇Properties,然後在Endpoints選項卡上,檢查您的服務提供商斷言端點URL是否在SAML Assertion Consumer Endpoints下列出。

我的工作配置了

Endpoint type:  SAML Assertion Consumer 
Binding:    POST 
Default:    Yes 
Index:    0 
Trusted URL:   https://1337.local/adfs/ls 

而且Trusted URL是我主張的端點上的SP,即ADFS通過身份驗證發佈SAML有效內容。