Skip to content

Commit eef5656

Browse files
author
Bill Hunt
committed
Adding mappings for node cookies from laravel.
1 parent 563efb5 commit eef5656

File tree

1 file changed

+48
-8
lines changed

1 file changed

+48
-8
lines changed

lib/connect-mysql-session.js

Lines changed: 48 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ module.exports = function (connect)
1010
var self = this,
1111
forceSync = options.forceSync || false,
1212
checkExpirationInterval = options.checkExpirationInterval || 1000*60*10, // default 10 minutes.
13-
defaultExpiration = options.defaultExpiration || 60*24; // default 1 day.
13+
defaultExpiration = options.defaultExpiration || 60*60*24; // default 1 day.
1414

1515
var sequelize = new Sequelize(database, user, password, options);
1616

@@ -30,7 +30,6 @@ module.exports = function (connect)
3030
sequelize.sync({force: forceSync})
3131
.on('success', function ()
3232
{
33-
console.log('MySQL session store initialized.');
3433
initialized = true;
3534
callback();
3635
})
@@ -49,12 +48,13 @@ module.exports = function (connect)
4948
initialize(function (error)
5049
{
5150
if (error) return;
51+
5252
Session.findAll({where: ['last_activity < ?', Math.round(Date.now() / 1000) + defaultExpiration]})
5353
.on('success', function (sessions)
5454
{
5555
if (sessions.length > 0)
5656
{
57-
console.log('Destroying ' + sessions.length + ' expired sessions.');
57+
//console.log('Destroying ' + sessions.length + ' expired sessions.');
5858
for (var i in sessions)
5959
{
6060
sessions[i].destroy();
@@ -71,13 +71,45 @@ module.exports = function (connect)
7171

7272
this.get = function (sid, fn)
7373
{
74+
var that = this;
7475
initialize(function (error)
7576
{
7677
if (error) return fn(error, null);
7778
Session.find({where: {'id': sid}})
7879
.on('success', function (record)
7980
{
8081
var session = record && JSON.parse(record.payload);
82+
83+
if (session) {
84+
if(!(session.passport && session.passport.user) && session.user)
85+
{
86+
if(!session.passport)
87+
{
88+
session.passport = {};
89+
}
90+
if(session && session.user)
91+
{
92+
session.passport.user = session.user;
93+
}
94+
95+
that.set(sid, session);
96+
}
97+
98+
if(!session.cookie)
99+
{
100+
session.cookie = {};
101+
}
102+
if (!(session.cookie && session.cookie.expires) && session.last_activity)
103+
{
104+
session.cookie.expires = session.last_activity + parseInt(sails.config.session.cookie.maxAge);
105+
}
106+
if(!(session.cookie && session.cookie.originalMaxAge))
107+
{
108+
session.cookie.originalMaxAge = sails.config.session.cookie.maxAge;
109+
}
110+
session.cookie.domain = sails.config.session.cookie.domain;
111+
}
112+
81113
fn(null, session);
82114
})
83115
.on('failure', function (error)
@@ -89,41 +121,49 @@ module.exports = function (connect)
89121

90122
this.set = function (sid, session, fn)
91123
{
124+
if (session.passport && session.passport.user && !session.user) {
125+
session.user = session.passport.user;
126+
}
127+
92128
initialize(function (error)
93129
{
94130
if (error) return fn && fn(error);
95131
Session.find({where: {'id': sid}})
96132
.on('success', function (record)
97133
{
134+
135+
if(session && !session.user && session.passport && session.passport.user)
136+
{
137+
session.user = session.passport.user;
138+
}
139+
98140
if (!record)
99141
{
100142
record = Session.create({
101143
id: sid,
102144
payload: JSON.stringify(session),
103-
last_activity: Date.now()
145+
last_activity: Math.round(Date.now() / 1000)
104146
}).on('success', function ()
105147
{
106148
fn && fn();
107149
})
108150
.on('failure', function (error)
109151
{
110-
console.log('fail to create');
111152
fn && fn(error);
112153
});
113154
}
114155
else
115-
{
156+
{
116157
Session.update({
117158
payload: JSON.stringify(session),
118-
last_activity: Date.now()
159+
last_activity: Math.round(Date.now() / 1000)
119160
}, { id: sid })
120161
.on('success', function ()
121162
{
122163
fn && fn();
123164
})
124165
.on('failure', function (error)
125166
{
126-
console.log('fail to update');
127167
fn && fn(error);
128168
});
129169
}

0 commit comments

Comments
 (0)