2016-07-27 11 views
0

Ich baue einen NodeJS-Webserver, meist statische Dateien (Jade zu kommen), aber ich bin an dem Punkt, wo ich in der Lage sein, den Benutzer zu authentifizieren und alles war geht gut, bis ich eine Geschwindigkeitsbegrenzung mit dem Setzen von Keksen treffe.Ich kann keinen Cookie mit Knoten-Client-Sitzungen erstellen

Ich verwende Express & Client-Sitzungen und ich bin fast wörtlich Beispielcode. Egal was ich mache, ich scheine nicht in der Lage einen Cookie zu setzen.

Code unten Ich hoffe, es gibt eine einfache Gotcha Ich habe verpasst!

** Versionen ** NodeJS: v 6.2 Client-Sitzungen: 0.7.0

//** Required files 
var express = require("express"); 
var bodyParser = require("body-parser"); 
var sessions = require("client-sessions"); 
var app = express(); 
var port = 8080; 
var svr = app; 

//** Middleware 
app.use(express.static(__dirname + '/Public')); //** Use express globally to catch all requests and direct to Public folder 
app.use(bodyParser.urlencoded({extended: false})); // create application/x-www-form-urlencoded parser 
app.use(bodyParser.json()); // create application/json parser 
app.use(sessions({ 
    cookieName: 'mySession', // cookie name dictates the key name added to the request object 
    secret: 'kdheiuehiygft', // should be a large unguessable string 
    duration: 24 * 60 * 60 * 1000, // how long the session will stay valid in ms 
    activeDuration: 1000 * 60 * 5 // if expiresIn < activeDuration, the session will be extended by activeDuration milliseconds 
})); 

app.get("/", function(req, res){ 
    req.mySession.seenyou = true; 
    res.setHeader('X-Seen-You', 'false'); 
    res.sendFile(__dirname + "/index.htm"); 
}); 

Antwort

0

Die Gründe scheint zu sein, dass Express der Eingang vor mir war "Einfangen" alles einstellen und Umleitung zu Die Datei index.html in Public.

Nachdem nun eine separate Login-Seite erstellt wurde, die die Daten auf eine neue Route POST, funktioniert alles gut!