2009-02-09 6 views
7

Ist es möglich, Attribute in einer SAML-Authentifizierungsanforderung zu senden?Sind Attribute in einer SAML-Authentifizierungsanforderung zulässig?

<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> 

Antwort

7

Technisch ja, ist es möglich, da AuthnRequest ein Extensions-Element enthalten kann, was alles enthalten kann - siehe the SAML 'core' spec: AuthnRequest (Abschnitt 3.4.1) von RequestAbstractType abgeleitet ist (Abschnitt 3.2.1), der eine optionale Erweiterung. Der Absender und der Empfänger müssen sich auf die Syntax und Semantik der so gesendeten Daten einigen.

Ich kann nicht eine "konventionelle" Möglichkeit, dies zu tun, da Attribute sind in der Regel in Assertions, anstatt AuthnRequests.

+0

Danke für die Hilfe vor. Ich habe einen Follow-up-Kommentar. Ist das für SAML 2.0 oder SAML 1.0 oder beides? – jon077

+0

Das war für SAML 2.0. Betrachtet man Abschnitt 3.2.1 der SAML 1.1-Spezifikation (http://www.oasis-open.org/committees/download.php/3406/oasis-ststc-saml-core-1.1.pdf), gibt es kein Extensions-Element, Ich denke nicht, dass Sie das mit SAML 1.x machen können. – metadaddy

+0

Dieser Beitrag hat mir sehr geholfen, als ich ihn ursprünglich gepostet habe. Ich konnte Extensions und Shibboleth verwenden, um Attribute in AuthnRequest zu übergeben. Ich benutze jetzt OpenAM und habe mich gefragt, ob es möglich ist, von einem AMLoginModul auf die Erweiterungen zuzugreifen. Es ist möglich? – jon077

0

Es gibt einen Fall, in dem Attribute Teil der Auth-Anfrage sein sollen. , so dass wir diesen Attributnamen von der Anforderung erhalten können, um die Antwortassertion mit derselben zu konstruieren.

, da der Dienstanbieter die Antwort durch Vergleichen der Attributnamen validiert. Als Beispiel können wir Salesforce als Dienstanbieter verwenden, bei dem dasselbe geschieht.

Verwandte Themen