Это дает мне огромную головную боль, 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 }));
трудно сказать, что проблема из этого фрагмента, но просто хочу указать, что отправка токена csrf через файл cookie не является самым безопасным способом делать вещи, либо выполнять рендеринг на стороне сервера с помощью токена csrf, либо использовать json сетевые жетоны. Использование cookie может быть использовано, если какие-либо маршруты/поддомены не находятся на ssl – Saad
Спасибо за подсказку, я исправлю это. Есть ли какие-нибудь другие фрагменты, которые я могу дать? И они на SSL, работающие через Nginx –
Я исправил проблему, не волнуйтесь. –