2016-04-08 3 views
0

Ich versuche, das facebookPicUrl Bild in einem Cookie zu speichern. Ich sehe es in der Rückrufanfrage, aber ich sehe es nicht im Cookie-Speicher des Browsers. Nur um klar zu sein, der Session-Cookie hat keine Probleme.Cookie zeigt in Callback-URL, aber nicht im Browser Cookie-Speicher

auth.route('/auth/facebook/callback') 
    .get(function(req, res, next) { 
    passport.authenticate('facebook', function(err, userDoc, info) { 
     if (err) { return next(err); } 
     // I don't think !userDoc will ever happen because of mongo upsert 
     if (!userDoc) { return res.redirect('/login'); } 
     res.cookie('facebookPicUrl', userDoc.value.facebook.picture, {maxAge : 99999, 
     httpOnly: false, 
     secure: false, 
     signed: false 
     }); 
     res.redirect('http://127.0.0.1:9000/users') 
    })(req, res, next); 
    }); 

Hier ist es in der Callback-URL:

enter image description here

Aber nicht in der Cookie-Speicherung:

enter image description here

+1

Ich sah das Auslaufen von Cookie facebookPicUrl ist etwa 1,6 min im ersten Bild. Vielleicht ist der Cookie bereits abgelaufen und wird automatisch vom Browser gelöscht! Ich habe auch gesehen, dass das Anfrage-Cookie facebookPicUrl enthält. Das heißt, der Browser hat Ihren FacebookPicUrl-Cookie zuvor gespeichert. Ich nehme an, dass Ihr facebookPicUrl-Cookie abgelaufen ist. Könnten Sie die abgelaufene Zeit erhöhen? –

+0

nein, ich hab gleich nachgeschaut .... naja mit in der 1.6 min. Außerdem habe ich die Cookie-Zeit auf 2,8 Stunden geändert und es wird immer noch nicht angezeigt. – dman

+1

Da dieser Cookie nicht httpOnly ist, können wir document.cookie in der Chrome-Konsole ausführen, um zu überprüfen, was ausgegeben wird. –

Antwort

1

res.redirect('http://127.0.0.1:9000/users') ist ein hartcodierte Wert, zu raten, dass die req.headers.host stimmt nicht überein '127.0.0.1'