Passport lokale Strategie und cURL

8

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?

    
mosquito87 07.03.2014, 14:04
quelle

1 Antwort

12

Erstens, curl speichert Cookies, wenn Sie sich mit

einloggen %Vor%

Lesen Sie die gespeicherten Cookies beim Zugriff auf /test :

%Vor%

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.

app.js

%Vor%

curl-Skript

%Vor%

Konsolenprotokoll mit Curl-Ausgabe

%Vor%

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%     
nwk 07.03.2014, 14:48
quelle