2015-10-21 70 views
0

我們使用spring-security-saml2-core 1.0.1.RELEASE來驗證我們在Azure雲中運行的ADFS。請問spring-security-saml處理受衆限制的SPN格式嗎?

身份驗證失敗,因爲Azure預先掛起'spn:'EntityId<AudienceRestriction>部分身份驗證響應的一部分。這會導致類org.springframework.security.saml.websso.WebSSOProfileConsumerImpl使請求失敗,因爲它預計受衆字符串與EntityId完全匹配。

例如,如果SP EntityIdca58424a-3338-4ac2-81ec-fe4a822f7fcd並且認證請求成功,Azure在觀衆限制響應返回此在ENTITYID:

<Conditions NotBefore="2015-10-21T14:24:41.745Z" NotOnOrAfter="2015-10-21T15:24:41.745Z"> 
    <AudienceRestriction> 
     <Audience>spn:ca58424a-3338-4ac2-81ec-fe4a822f7fcd</Audience> 
    </AudienceRestriction> 
    </Conditions> 

不知道爲什麼Azure的做到這一點,但這Azure blog確實提到使用SPN格式的Azure。

這是一個已知問題,有沒有解決它的問題?

回答

0

我通過在前應用程序spn:到網站應用程序配置中的EntityID的開頭將此項工作。當傳遞給Azure時,它必須在比較EntityID之前檢查並刪除該字符串。