Ich möchte meine node.js + express + pass.js Testanwendung (RESTful) mit CURL testen. Mein Code:
%Vor%Aufruf / Test mit Curl und
%Vor%gibt "Nicht autorisiert" zurück (dies ist bis jetzt korrekt).
Anrufen / Anmelden (POST) mit curl und
%Vor%funktioniert. Aber bei der nächsten Anfrage wurde mein Login "vergessen". Ist das, weil Curl Sessions nicht verarbeiten kann? Gibt es eine Problemumgehung? Ist meine Prozedur für eine RESTful-Anwendung korrekt?
Erstens, curl
speichert Cookies, wenn Sie sich mit
Lesen Sie die gespeicherten Cookies beim Zugriff auf /test
:
Einige Änderungen an der App selbst waren notwendig, bevor sie auf meinem Rechner (Ubuntu 12.04) mit Node.js v0.10.26 und Express 3.5.0 funktionierten. Ich habe eine neue Express-App mit express --sessions nodetest
erstellt und den Code in app.js
so bearbeitet, wie Sie unten sehen. Sobald ich die Abhängigkeiten installiert hatte, habe ich die App ausgeführt und es funktionierte mit den curl
-Befehlen.
Beachten Sie die Verwendung von
%Vor% in app.js
. Sitzungen funktionierte nicht ohne die oben genannten zwei Zeilen.
Der Code in Ihrer Frage fehlt auch der Teil, wo Sie einen HTTP-Server erstellen, aber ich nehme an, dass das nur ein Kopier-Einfüge-Problem ist; Ich beziehe mich auf
%Vor%Tags und Links node.js express curl passport.js git-bash