Мы создаем приложение nodejs, где мне нужно поддерживать сеансы. Мы используем выражение для поддержки переменных узла. Но проблема в том, что когда мы нажимаем новую услугу, создается новый сеанс.Nodejs, создающий сеанс по каждому запросу
app.js файл выглядит следующим образом
var RedisStore = require('connect-redis')(session);
\t module.exports = function Sessions(url, secret) {
\t var store = new RedisStore({ url: url });
\t var session = session({
\t \t secret: 'dfsdfdff',
\t \t store: 'test',
\t \t resave: true,
\t \t saveUninitialized: true
\t });
\t return session;
\t };
var express = require('express');
var session = require('express-session');
var routes = require('./routes');
var http = require('http');
var https = require('https');
var path = require('path');
var Q = require('q');
var fs = require('fs');
var formidable = require("formidable");
var util = require('util');
var url = require('url');
var request = require('request');
var users = require('./routes/language');
var user_auth = require('./routes/auth');
auth.js файл выглядит следующим образом
exports.generateToken = function(req, res, next) {
res.render('index', {
page_title: 'PEN_V4'});
var sess = req.session;
sess.user_id = 'Hello1';
console.log('Hello 1============');
console.log(sess.user_id);
console.log('session*****************************============');
console.log(sess);
res.end();
}
exports.myToken = function(req, res, next) {
console.log(req.session);
console.log('session============');
console.log('session*****************************============');
res.end();
}
app.configure(function() {
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.static(__dirname + '/static'));
app.use(express.cookieParser());
app.use(express.session({
secret: 'alessios',
store: MemStore({
reapInterval: 60000 * 10
}),
\t \t \t cookie :{httpOnly: true}
}));
});
затем из index.html мы вызываем api's myToken и generateToken. Но оба apis показывают разные сеансы. Может ли кто-нибудь объяснить нам, что мы делаем неправильно?
Пожалуйста, пост как инициализировать сеанс. Также, пожалуйста, разместите заголовки, отправленные из экспресс. – bolav
добавил заголовки и метод intialization –
Если я запустил 'curl -v http: // localhost: 3000 /' Я получаю этот ответ в заголовках: 'set-cookie: connect.sid = s% 3AvrxyuLkQ8JHDS7O5kZ9vL9jU0TOPaGip.K3zFYVzopymsz5eXPMEN5pTlaKBHgZso3DJu3EidmW8; Path = /; HttpOnly'. Пожалуйста, подтвердите, что заголовок set-cookie отправляется из вашего приложения. – bolav