2017-11-19 1 views
0

Ich folgte dem Tutorial zum Bereitstellen single sign-on with OneLogin over my Django app und wenn ich auf den Login-Button klicken, ist die Anfrage von OneLogin nicht ein POST wie erwartet, sondern ein GET. Dann löst die Bibliothek einen OneLogin_Saml2_Error aus: "SAML-Antwort nicht gefunden, nur unterstützte HTTP_POST-Bindung". In diesem Moment stecke ich fest, da die Dokumentation keine brauchbaren Informationen dazu liefert, daher würde ich gerne irgendwelche Tipps begrüßen.Onelogin mit Django: Empfangen eines GET, wenn ich einen POST erwarten würde

+1

Hallo Pablo, ein HTTP_POST muss an der SP ACS URL ankommen. Gehen Sie zum OneLogin-Connector und bestätigen Sie auf der Registerkarte Konfiguration, dass die Einstellungen korrekt sind. Stellen Sie außerdem sicher, dass die Vorbereitungsanforderungsmethode der Django-App korrekt ist. Wenn Sie das SAML Tracer Firefox-Plugin installieren, können Sie überprüfen, ob die SAMLResponse als POST an den richtigen Endpunkt gesendet wird. – smartin

+0

Danke @Smartin für Ihren Tipp. Am Ende stellte sich heraus, dass das Problem ein kombinierter Fehler auf meiner Seite und (wahrscheinlich) Onelogins Seite war. Auf der einen Seite lenkt unser Load Balancer den gesamten HTTP-Verkehr auf https um, und das hat die anfängliche Anfrage abgelenkt, bevor ich überhaupt sehen konnte, dass sie meine App erreicht. Auf der anderen Seite nimmt Onelogin die 302-Weiterleitung und verwandelt einen POST in eine GET-Anfrage, aus Gründen, die ich noch nicht verstehe. –

Antwort

0

Am Ende stellte sich heraus, dass das Problem ein kombinierter Fehler auf meiner Seite und (wahrscheinlich) Onelogins Seite war. Auf der einen Seite lenkt unser Load Balancer den gesamten HTTP-Verkehr auf https um, und das hat die anfängliche Anfrage abgelenkt, bevor ich überhaupt sehen konnte, dass sie meine App erreicht. Auf der anderen Seite nimmt Onelogin die 302-Weiterleitung und verwandelt einen POST in eine GET-Anfrage, aus Gründen, die ich noch nicht verstehe.

Verwandte Themen