2009-02-09 142 views
7

是否可以在SAML身份驗證請求中發送屬性?SAML身份驗證請求中是否允許屬性?

<samlp:AuthnRequest 
    xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" 
    xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" 
    ID="aaf23196-1773-2113-474a-fe114412ab72" 
    Version="2.0" 
    IssueInstant="2004-12-05T09:21:59Z" 
    AssertionConsumerServiceIndex="0" 
    AttributeConsumingServiceIndex="0"> 
    <saml:Issuer>https://sp.example.com/SAML2</saml:Issuer> 
    <samlp:NameIDPolicy 
    AllowCreate="true" 
    Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"/> 
</samlp:AuthnRequest> 

回答

7

從技術上講,是的,這是可能的,因爲AuthnRequest可以包含一個擴展元件,它可以包含任何東西 - 見the SAML 'core' spec:AuthnRequest(3.4.1節)由具有RequestAbstractType(第3.2.1節)衍生一個可選的擴展。發送者和接收者必須同意以這種方式發送的數據的語法和語義。

我看不到更傳統的方式來做到這一點,因爲屬性通常在斷言中,而不是AuthnRequests。

+0

感謝您的幫助。我有一個後續評論。這是用於SAML 2.0還是SAML 1.0或兩者兼而有之? – jon077 2011-02-07 20:27:09

0

有一種情況,屬性將成爲認證請求的一部分。 ,以便我們可以從請求中獲取該屬性名稱,以構建具有相同屬性的響應斷言。

因爲服務提供程序通過比較屬性名稱來驗證響應。我們可以將Salesforce作爲服務提供者的示例,其中發生了同樣的情況。