2009-02-09 26 views
7

È possibile inviare attributi in una richiesta di autenticazione SAML?Gli attributi sono consentiti in una richiesta di autenticazione 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> 

risposta

7

Tecnicamente, sì, è possibile, dal momento che AuthnRequest può contenere un elemento di estensioni, che può contenere qualsiasi cosa - vedi the SAML 'core' spec: AuthnRequest (sezione 3.4.1) è derivato da RequestAbstractType (paragrafo 3.2.1), che ha un'estensione opzionale. Il mittente e il destinatario dovrebbero concordare la sintassi e la semantica dei dati inviati in questo modo.

Non riesco a vedere un modo più "convenzionale" per farlo, poiché gli attributi sono solitamente in Assertions, piuttosto che in AuthnRequests.

+0

Grazie per l'aiuto prima. Ho un commento successivo. È questo per SAML 2.0 o SAML 1.0 o entrambi? – jon077

+0

Questo era per SAML 2.0. Guardando la sezione 3.2.1 della specifica SAML 1.1 (http://www.oasis-open.org/committees/download.php/3406/oasis-sstc-saml-core-1.1.pdf), non c'è alcun elemento Estensioni, quindi non penso che tu possa farlo con SAML 1.x. – metadaddy

+0

Questo post mi ha aiutato molto quando l'ho pubblicato originariamente. Sono stato in grado di utilizzare estensioni e Shibboleth per passare attributi in AuthnRequest. Sto usando OpenAM ora e mi chiedevo se fosse possibile accedere alle estensioni da un AMLoginModule. È possibile? – jon077

0

C'è un caso in cui gli attributi devono far parte della richiesta di autorizzazione. in modo che possiamo ottenere il nome di questo attributo dalla richiesta per costruire l'asserzione di risposta con lo stesso.

perché il fornitore di servizi convalida la risposta confrontando i nomi degli attributi. Possiamo prendere l'esempio di Salesforce come fornitore di servizi, dove accade lo stesso.

Problemi correlati