mirror of
https://github.com/sudoxnym/habitica.git
synced 2026-07-12 23:08:35 +00:00
Try hooking into session even earlier (for some reason previous
commits are causing app to freeze if accessed from multiple devices.. god i can't wait until derby releases auth)
This commit is contained in:
parent
2fb562c90e
commit
0a72028c27
2 changed files with 10 additions and 8 deletions
|
|
@ -53,8 +53,9 @@ habitrpgMobile = function(req, res, next) {
|
|||
habitrpgSessions = function(req, res, next) {
|
||||
var acceptableUid, uidParam;
|
||||
uidParam = req.url.split('/')[1];
|
||||
acceptableUid = require('guid').isGuid(uidParam) || (uidParam === '3' || uidParam === '4' || uidParam === '9');
|
||||
if (acceptableUid && req.session.userId !== uidParam) {
|
||||
acceptableUid = require('guid').isGuid(uidParam) || (uidParam === '3' || uidParam === '9');
|
||||
if (acceptableUid) {
|
||||
req.session || (req.session = {});
|
||||
req.session.userId = uidParam;
|
||||
}
|
||||
return next();
|
||||
|
|
@ -62,12 +63,12 @@ habitrpgSessions = function(req, res, next) {
|
|||
|
||||
expressApp.use(express.favicon()).use(gzippo.staticGzip(publicPath, {
|
||||
maxAge: ONE_YEAR
|
||||
})).use(express.compress()).use(express.cookieParser()).use(store.sessionMiddleware({
|
||||
})).use(express.compress()).use(express.cookieParser()).use(habitrpgSessions).use(store.sessionMiddleware({
|
||||
secret: process.env.SESSION_SECRET || 'YOUR SECRET HERE',
|
||||
cookie: {
|
||||
maxAge: ONE_YEAR
|
||||
}
|
||||
})).use(habitrpgSessions).use(store.modelMiddleware()).use(habitrpgMobile).use(app.router()).use(expressApp.router).use(serverError(root));
|
||||
})).use(store.modelMiddleware()).use(habitrpgMobile).use(app.router()).use(expressApp.router).use(serverError(root));
|
||||
|
||||
expressApp.all('*', function(req) {
|
||||
throw "404: " + req.url;
|
||||
|
|
|
|||
|
|
@ -38,11 +38,12 @@ habitrpgMobile = (req, res, next) ->
|
|||
# PURL pseudo-auth: Previously saved session (eg, http://localhost/{guid}) (temporary solution until authentication built)
|
||||
habitrpgSessions = (req, res, next) ->
|
||||
uidParam = req.url.split('/')[1]
|
||||
acceptableUid = require('guid').isGuid(uidParam) or (uidParam in ['3','4','9'])
|
||||
if acceptableUid and req.session.userId!=uidParam
|
||||
acceptableUid = require('guid').isGuid(uidParam) or (uidParam in ['3','9'])
|
||||
if acceptableUid# and req.session.userId!=uidParam
|
||||
# model.fetch "users.#{uidParam}", (err, user) -> #test whether user exists
|
||||
# if user.get('id')
|
||||
req.session.userId = uidParam # and for next requests
|
||||
req.session ||= {}
|
||||
req.session.userId = uidParam
|
||||
next()
|
||||
|
||||
expressApp
|
||||
|
|
@ -59,11 +60,11 @@ expressApp
|
|||
# Uncomment and supply secret to add Derby session handling
|
||||
# Derby session middleware creates req.session and socket.io sessions
|
||||
.use(express.cookieParser())
|
||||
.use(habitrpgSessions)
|
||||
.use(store.sessionMiddleware
|
||||
secret: process.env.SESSION_SECRET || 'YOUR SECRET HERE'
|
||||
cookie: {maxAge: ONE_YEAR}
|
||||
)
|
||||
.use(habitrpgSessions)
|
||||
|
||||
# Adds req.getModel method
|
||||
.use(store.modelMiddleware())
|
||||
|
|
|
|||
Loading…
Reference in a new issue