2015-02-23 113 views
0

的狀態考慮,我有一個正的因素身份驗證:多AuthnContextClassRef和響應SAML請求,指示各

SAML:AuthnContextClassRef 甕:綠洲:名稱:TC:SAML:2.0:AC:類:密碼... SAML:AuthnContextClassRef甕:綠洲:名稱:TC:SAML:2.0:AC:類:TimesyncToken

如何表明每個響應的結果呢? 我是否需要爲每個斷言?我不想依靠單一的StatusCode來表示最終結果。

回答

0

可以包括在SAML響應多個AuthnContextClassRef元件如Assertion

<AuthnContext> 
    <AuthnContextClassRef> 
     urn:oasis:names:tc:SAML:2.0:ac:classes:Password 
    </AuthnContextClassRef> 
    <AuthnContextClassRef> 
     urn:oasis:names:tc:SAML:2.0:ac:classes:TimesyncToken 
    </AuthnContextClassRef> 
</AuthnContext> 

那些代表「上下文」 WRT的AuthnStatement的一部分,例如:。身份驗證事件。如果某些因素是可選的,則只會包含成功的因素,而忽略那些未成功或未被觸發的因素。

StatusCode實際上與此無關,表明整體認證成功/失敗。

+0

對,但可以說對於密碼,給出了正確的密碼,以便auth機制成功。而對於TimesyncToken,WRONG令牌被給出以致機制失敗。我如何指出哪一個失敗,哪一個成功? – chup 2015-02-23 20:58:04

+0

我在你問這個問題的時候編輯了答案;-)你不會包含那些沒有成功的因素。如果這是他們都成功的要求,那麼整個'StatusCode'將指示失敗。 – 2015-02-23 21:08:39

+0

哈哈!那個,我想是我在找的。謝謝! – chup 2015-02-23 21:10:52