mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-19 15:48:04 +01:00
use page.redirect('/') after setting session, so don't have to use
middleware (don't need to use purl the whole time)
This commit is contained in:
@@ -20,8 +20,13 @@ helpers = require('./helpers');
|
|||||||
helpers.viewHelpers(view);
|
helpers.viewHelpers(view);
|
||||||
|
|
||||||
get('/:uidParam?', function(page, model, _arg) {
|
get('/:uidParam?', function(page, model, _arg) {
|
||||||
var uidParam, userId;
|
var acceptableUid, uidParam, userId;
|
||||||
uidParam = _arg.uidParam;
|
uidParam = _arg.uidParam;
|
||||||
|
acceptableUid = require('guid').isGuid(uidParam) || (uidParam === '3' || uidParam === '9');
|
||||||
|
if (acceptableUid) {
|
||||||
|
model.session.userId = uidParam;
|
||||||
|
return page.redirect('/');
|
||||||
|
}
|
||||||
userId = model.get('_userId');
|
userId = model.get('_userId');
|
||||||
return model.subscribe("users." + userId, function(err, user) {
|
return model.subscribe("users." + userId, function(err, user) {
|
||||||
var guid, newUser, task, _i, _len, _ref1;
|
var guid, newUser, task, _i, _len, _ref1;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// Generated by CoffeeScript 1.3.3
|
// Generated by CoffeeScript 1.3.3
|
||||||
var ONE_YEAR, app, derby, express, expressApp, gzippo, habitrpgMobile, habitrpgSessions, http, path, publicPath, racer, root, server, serverError, store;
|
var ONE_YEAR, app, derby, express, expressApp, gzippo, habitrpgMobile, http, path, publicPath, racer, root, server, serverError, store;
|
||||||
|
|
||||||
http = require('http');
|
http = require('http');
|
||||||
|
|
||||||
@@ -53,20 +53,9 @@ habitrpgMobile = function(req, res, next) {
|
|||||||
return next();
|
return next();
|
||||||
};
|
};
|
||||||
|
|
||||||
habitrpgSessions = function(req, res, next) {
|
|
||||||
var acceptableUid, uidParam;
|
|
||||||
uidParam = req.url.split('/')[1];
|
|
||||||
acceptableUid = require('guid').isGuid(uidParam) || (uidParam === '3' || uidParam === '9');
|
|
||||||
if (acceptableUid) {
|
|
||||||
req.session || (req.session = {});
|
|
||||||
req.session.userId = uidParam;
|
|
||||||
}
|
|
||||||
return next();
|
|
||||||
};
|
|
||||||
|
|
||||||
expressApp.use(express.favicon()).use(gzippo.staticGzip(publicPath, {
|
expressApp.use(express.favicon()).use(gzippo.staticGzip(publicPath, {
|
||||||
maxAge: ONE_YEAR
|
maxAge: ONE_YEAR
|
||||||
})).use(express.compress()).use(express.cookieParser()).use(habitrpgSessions).use(store.sessionMiddleware({
|
})).use(express.compress()).use(express.cookieParser()).use(store.sessionMiddleware({
|
||||||
secret: process.env.SESSION_SECRET || 'YOUR SECRET HERE',
|
secret: process.env.SESSION_SECRET || 'YOUR SECRET HERE',
|
||||||
cookie: {
|
cookie: {
|
||||||
maxAge: ONE_YEAR
|
maxAge: ONE_YEAR
|
||||||
|
|||||||
@@ -16,6 +16,14 @@ helpers.viewHelpers(view)
|
|||||||
|
|
||||||
get '/:uidParam?', (page, model, {uidParam}) ->
|
get '/:uidParam?', (page, model, {uidParam}) ->
|
||||||
|
|
||||||
|
# PURL pseudo-auth: Previously saved session (eg, http://localhost/{guid}) (temporary solution until authentication built)
|
||||||
|
acceptableUid = require('guid').isGuid(uidParam) or (uidParam in ['3','9'])
|
||||||
|
if acceptableUid# && model.session.userId!=uidParam
|
||||||
|
# model.fetch "users.#{uidParam}", (err, user) -> #test whether user exists
|
||||||
|
# if user.get('id')
|
||||||
|
model.session.userId = uidParam
|
||||||
|
return page.redirect('/')
|
||||||
|
|
||||||
# The session middleware will assign a _userId automatically
|
# The session middleware will assign a _userId automatically
|
||||||
userId = model.get '_userId'
|
userId = model.get '_userId'
|
||||||
|
|
||||||
|
|||||||
@@ -35,17 +35,6 @@ habitrpgMobile = (req, res, next) ->
|
|||||||
model.set '_mobileDevice', /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(req.header 'User-Agent')
|
model.set '_mobileDevice', /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(req.header 'User-Agent')
|
||||||
next()
|
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','9'])
|
|
||||||
if acceptableUid# and req.session.userId!=uidParam
|
|
||||||
# model.fetch "users.#{uidParam}", (err, user) -> #test whether user exists
|
|
||||||
# if user.get('id')
|
|
||||||
req.session ||= {}
|
|
||||||
req.session.userId = uidParam
|
|
||||||
next()
|
|
||||||
|
|
||||||
expressApp
|
expressApp
|
||||||
.use(express.favicon())
|
.use(express.favicon())
|
||||||
# Gzip static files and serve from memory
|
# Gzip static files and serve from memory
|
||||||
@@ -60,7 +49,6 @@ expressApp
|
|||||||
# Uncomment and supply secret to add Derby session handling
|
# Uncomment and supply secret to add Derby session handling
|
||||||
# Derby session middleware creates req.session and socket.io sessions
|
# Derby session middleware creates req.session and socket.io sessions
|
||||||
.use(express.cookieParser())
|
.use(express.cookieParser())
|
||||||
.use(habitrpgSessions)
|
|
||||||
.use(store.sessionMiddleware
|
.use(store.sessionMiddleware
|
||||||
secret: process.env.SESSION_SECRET || 'YOUR SECRET HERE'
|
secret: process.env.SESSION_SECRET || 'YOUR SECRET HERE'
|
||||||
cookie: {maxAge: ONE_YEAR}
|
cookie: {maxAge: ONE_YEAR}
|
||||||
|
|||||||
Reference in New Issue
Block a user