12 Stimmen

Gibt es einen Standard für die Verwendung von SAML-Token mit RESTful-Services?

Ich verwende SAML-Token zur Authentifizierung gegen eine Reihe von REST-ful-Services, indem ich das SAML-Token im Authorization-Header platziere.

Ich konnte nichts finden, was darauf hindeutet, dass es eine Standardmethode dafür gibt. Verwende ich zum Beispiel:

Authorization: Bearer 

`

oder:

Authorization: Bearer PEVuY3J5cHRlZEFzc2VydGlvbiAuLi4=

oder:

Authorization: SAML PEVuY3J5cHRlZEFzc2VydGlvbiAuLi4=

oder etwas anderes?

Beachten Sie, dass die erste Variante nicht funktioniert, wenn das Zertifikat mehrere Namenskomponenten hat (weil das Komma das Header-Parsing durcheinander bringt).

Die Tatsache, dass ich 'Bearer' verwende, sagt nichts über das Format des Tokens aus.

Apache CXF verwendet anscheinend die dritte Variante.

Welche ist standardmäßig? Gibt es einen Standard? Wenn nicht, gibt es einen De-facto-Standard?

`

8voto

Pedro Werneck Punkte 39422

Der Standard für benutzerdefinierte Authentifizierungsschemata in HTTP ist in den RFCs 2617 und 7235 definiert.

Authorization: scheme key="value", ...

Ich bezweifle, dass es einen Standard für Ihren spezifischen Fall gibt, aber ich würde sagen, dass dies akzeptabel ist:

Authorization: SAML bearer="PEVuY3J5cHRlZEFzc2VydGlvbiAuLi4="

4voto

JBernhardt Punkte 404

Nachdem ich eine ziemliche Menge an Recherchen zu diesem Thema gemacht habe, konnte ich keine Standards finden, die definieren, wie man ein SAML-Token im Autorisierungsheader verwenden kann.

Dennoch unterstützt CXF, das ein ziemlich bekannter Web-Service-Stack ist SAML-Token auf folgende Weise:

Authorization: SAML eJydV1m....9fYTCPr=

OAuth2 definiert auch, wie man sich mit einem SAML-Token authentifizieren kann, um ein OAuth2-Zugriffstoken zu erhalten, das dann verwendet werden kann, um einen anderen REST-Service aufzurufen (https://www.rfc-editor.org/rfc/rfc7522)

POST /token.oauth2 HTTP/1.1
Host: as.example.com
Content-Type: application/x-www-form-urlencoded

grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Asaml2-bearer&
assertion=PHNhbWxwOl...[Auszug aus Gründen der Kürze]...ZT4

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X