2016-07-29 35 views
0

Ich habe eine Frage ähnlich wie How To Become a SAML Service Provider, aber es fehlt ein Teil, den ich gerne aufräumen würde.Welche SAML-Bindungen sollte ich als Web-SSO-Dienstanbieter unterstützen? Wie werden die authentifizierten Benutzerinformationen an mich zurückgegeben?

Die SAML SSP-Profilspezifikation beschreibt mehrere mögliche Bindungen und besagt, dass die Verwendung von SP- und IdP-Setups abhängt.

Die SAML-Konformität und Profile-Spezifikationen identifizieren die SAML Bindungen, die legal mit diesen beiden Nachrichten verwendet werden können. Insbesondere kann eine Authentifizierungsanforderungsnachricht von einem SP an einen Identitätsanbieter gesendet werden, der entweder die HTTP-Umleitungsbindung, die HTTP-POST-Bindung, oder die HTTP-Artefaktbindung verwendet. Die Antwortnachricht kann von einem IdP über die HTTP-POST-Bindung oder die HTTP-Artefakt- -Bindung an einen SP gesendet werden. Für dieses Nachrichtenpaar erlaubt SAML Asymmetrie in der verwendeten Auswahl von Bindungen. Das heißt, eine Anforderung kann unter Verwendung einer Bindung gesendet werden, und die Antwort kann mit einer anderen Bindung zurückgegeben werden. Die Entscheidung, welche Bindungen verwendet werden sollen, wird normalerweise von Konfigurationseinstellungen auf den IdP- und SP-Systemen gesteuert. Faktoren wie potenzielle Nachrichtengrößen, ob Identitätsinformationen dürfen Transit durch den Browser (wenn nicht die Artefaktbindung kann erforderlich sein), etc. müssen in der Wahl der Bindungen berücksichtigt werden.

Die erste Frage, die ich habe: als Service Provider, bin ich irgendeine der SP wählen frei -> IdP Bindungen, und es wird dort mit jedem IdP arbeiten, oder ich soll diese konfigurierbar macht in meinem Implementierung und Unterstützung aller Bindungen? (Nota bene: Ich werde wahrscheinlich eine vorhandene SAML-Bibliothek integrieren, um mein Leben zu unterstützen, aber ich sollte wissen, welche Konfigurationsoptionen ich an meinen Schnittstellen zulassen und unterstützen sollte.) Die zweite Frage betrifft die SamlResponse, die vom IdP zurückkommt nach erfolgreicher Authentifizierung. Soweit ich weiß, sagt SAML nur, dass der Benutzer erfolgreich mit dem IdP authentifiziert wurde. Als Ergebnis würde ich erwarten, dass ich einige Benutzerkennungen in der Antwort zurückgeben würde, wie eine Benutzer-ID, einen Benutzernamen oder eine E-Mail-Adresse, die ich von einem lokalen Benutzer db oder LDAP abfragen und anwendungsspezifische Berechtigungslogiken ausführen kann. Wie kann ich dem IdP die Benutzerkennung, die ich benötige, und wie/wo wird es zurückgegeben werden? Ich kann nicht anthing im Zusammenhang mit dieser in der Wikipedia example

Antwort

1
  1. Je nach was-Bindungen Ihre SAML-IdP und SP-Server unterstützt, können Sie eine beliebige Kombination aus Bindungspaar wählen. In der Regel unterstützt alle wichtigen SAML-IdP die meisten der in SAML-spec angegebenen Bindungen. Außerdem müssen Sie Sicherheits- und Leistungsaspekte berücksichtigen. Artifact ist sicherer, benötigt jedoch zwei Round-Trips, um den SAML-Authn-Prozess abzuschließen, da es während des Sendens und Empfangens von SAML-Nachrichten eine Back-End-Anrufkommunikation (im Gegensatz zu POST oder Redirect) durchführt. Wenn Ihr SAML-IdP- und SP-Server die Bindungskonfiguration unterstützt, verwenden Sie diese Bindungen in Runtime.

  2. NameID-Format identifiziert Benutzer zwischen IdP und SP, die in SAML Assertion von IdP gesendet wird. Es kann emailAddress, nicht spezifiziert, vorübergehend, hartnäckig und einige andere sein. Überprüfen Sie Abschnitt (8.3) Name Identifier Format Identifiers von SAML Spec für weitere Details. Sie können IdP auch auffordern, Benutzerattribute (die in IdP identity-store vorhanden sind) in SAML Assertion zu senden.

+0

Ich habe versucht, die relevanten Informationen in der SAML-Spezifikation zu finden, aber nicht erfolgreich. Wie fragen Sie nach Benutzerattributen, die vom IdP gesendet werden? – Akasha

+0

Überprüfen Sie diese, http://stackoverflow.com/questions/529655/are-attributes-allowed-in-a-saml-authentication-request. http://stackoverflow.com/questions/35873526/saml-request-attributes-in-authnrequest. http://stackoverflow.com/questions/22915077/how-to-request-idp-to-send-me-additional-custom-attributes-in-the-authnresponse – Zeigeist

+0

@Akasha: Vielen Dank für meine Antwort. Wenn dies richtig erscheint, akzeptieren Sie es bitte als beste Antwort, damit die Leute die Frage und ihre Antwort leicht lesen können. – Zeigeist