2015-12-11 9 views
0

Это дает мне огромную головную боль, cookie CSRF работает правильно, но, похоже, я что-то сломал и не могу начать сеансы. Любая помощь будет оценена по достоинству.cookie-session в Node.js не устанавливает сеанс

EDIT: Я забыл упомянуть, что я использую Nginx в качестве обратного прокси-сервера, который перенаправляет на мой Node-сервер, который принимает все запросы от Nginx с помощью HTTPS, поскольку, как я слышал, вам нужно иметь безопасные сеансы.

var express = require('express'), 
    path = require('path'), 
    cookieParser = require('cookie-parser'), 
    session = require('cookie-session'), 
    csrf = require('csurf'), 
    bodyParser = require('body-parser'); 

var app = express(); 

app.enable('trust proxy', 1); 
app.use(session({ 
    secret: 'supersecret!', 
    name: 'session_id' 
})); 
app.use(cookieParser('supersecret!')); 
app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ extended: false })); 
+0

трудно сказать, что проблема из этого фрагмента, но просто хочу указать, что отправка токена csrf через файл cookie не является самым безопасным способом делать вещи, либо выполнять рендеринг на стороне сервера с помощью токена csrf, либо использовать json сетевые жетоны. Использование cookie может быть использовано, если какие-либо маршруты/поддомены не находятся на ssl – Saad

+0

Спасибо за подсказку, я исправлю это. Есть ли какие-нибудь другие фрагменты, которые я могу дать? И они на SSL, работающие через Nginx –

+0

Я исправил проблему, не волнуйтесь. –

ответ

0

Я исправил проблему так, чтобы все знали, очень просто на самом деле.

Я переключился на экспресс-сессию и установил ее, как говорится в документах, и теперь все работает отлично! Спасибо всем за помощь!

Смежные вопросы