2017-06-11 1 views
0

Ich versuche, OKTA Provisioning mit SCIM-Endpunkt zum Abrufen von Daten von OKTA zu meiner lokalen Datenbank zu verwenden.Empty POST/Benutzer Anforderung von OKTA Server, verursacht internen Server Fehler

Also, ich habe Scim Endpunkt für meine SCIM 2.0 Test App (OAuth Bearer Token) mit NODE.js und MongoDB als Datenbank erstellt. Wenn ich diesem Anwendungs-OKTA-Bereitstellungsserver einen neuen Benutzer zuteile, sende die GET-Anforderung, die mit der erwarteten Ausgabe geantwortet hat.

Also, als OKTA Server sendet die POST-Anfrage mit/Benutzer. Aber es enthält einen leeren Körper statt gültiges JSON. Und so antwortet mein Scim-Endpunkt mit einem Fehler und OKTA zeigt den Fehler 500 an. Lassen Sie mich also wissen, in welchem ​​Format/Teil (wie BODY, PARAMETERS) der OKTA-Server USER JSON sendet, um einen neuen Benutzer zu erstellen.

Antwort

1

Es ist keine leere Anfrage, OKTA verwendet application/scim+json als content-type, konfigurieren Sie Ihren Server, um die Kopfzeile zu akzeptieren und weiter zu verarbeiten, um den Inhalt des req body zu finden.

4

Ich empfehle, ein Tool wie Runscope oder ngrok zu verwenden, um Ihnen zu helfen, Ihren SCIM-Server zu debuggen.

Als Ausgangspunkt empfehle ich die Verwendung Okta's example SCIM server, die written in Python and available on GitHub ist.

Stellen Sie in Ihrem speziellen Fall sicher, dass Sie auf die GET-Anforderung an/Benutzer mit einer leeren Antwort antworten. Die GET-Anfrage wird zuerst gemacht, um zu prüfen, ob der Benutzer bereits auf Ihrem System existiert.

Das heißt, ich empfehle dringend, dass Sie Okta's set of Runscope tests verwenden, um Ihre Node.js SCIM-Implementierung zu entwickeln. Die Runscope-Testsuite ist ziemlich vollständig und hilft Ihnen dabei, sicherzustellen, dass Sie die Teile von SCIM implementiert haben, die Sie für die Arbeit mit Okta implementieren müssen.

Erfahren Sie mehr über Test-Suite Okta hier: https://developer.okta.com/standards/SCIM/#test-your-scim-server

+0

Vielen Dank für Ihre Hilfe, aber ich habe die andere geeignete Lösung gefunden @joel –

-1

OKTA Server ist nicht das Schema in BODY POST Aufruf senden. Es verwendete tatsächlich Event-Driven Programming, also musste ich req.on ('data', callback) verwenden. und das Schema wird in Daten gespeichert.

Verwandte Themen