From 23b36b17368d29abf5fc81761c0535526707acff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kasper=20Rynning-T=C3=B8nnesen?= Date: Fri, 22 Jun 2018 18:59:19 +0200 Subject: [PATCH] Trying more tests to avoid cookie being deleted --- server/apps/client.js | 59 ++++++++++++++++++++++++------------------- 1 file changed, 33 insertions(+), 26 deletions(-) diff --git a/server/apps/client.js b/server/apps/client.js index 052815dd..e6976ee7 100755 --- a/server/apps/client.js +++ b/server/apps/client.js @@ -73,38 +73,45 @@ app.get('/robots.txt', function (req, res) { app.use(function (req, res, next) { var cookie = req.cookies._uI; - if(req.originalUrl.split("/").length > 3) { + var skipElements = ["/_embed", "/assets/manifest.json", "/apple-touch-icon.png"]; + if(skipElements.indexOf(req.originalUrl) > -1) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); next(); } else { - if (cookie === undefined) { - try { - console.error((new Date), "originalUrl", req.originalUrl); - console.error((new Date), "couldn't fetch cookie for some reason, maybe no cookie exists?", req.get('origin'), "couldn't fetch cookie for some reason, maybe no cookie exists?"); - - } catch(e) { - console.error((new Date), "couldn't fetch origin"); - } - var user_name = Functions.hash_pass(Functions.rndName(uniqid.time(), 15)); - res.cookie('_uI', user_name, { - maxAge: 365 * 10000 * 3600000, - httpOnly: true, - secure: secure, - sameSite: true, - }); + if(req.originalUrl.split("/").length > 3) { + res.header("Access-Control-Allow-Origin", "*"); + res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); + next(); } else { - //process.stderr.write((new Date), "couldn't fetch cookie for some reason, maybe no cookie exists?", req, "couldn't fetch cookie for some reason, maybe no cookie exists?"); - res.cookie('_uI', cookie, { - maxAge: 365 * 10000 * 3600000, - httpOnly: true, - secure: secure, - sameSite: true, - }); + if (cookie === undefined) { + try { + console.error((new Date), "originalUrl", req.originalUrl); + console.error((new Date), "couldn't fetch cookie for some reason, maybe no cookie exists?", req.get('origin'), "couldn't fetch cookie for some reason, maybe no cookie exists?"); + + } catch(e) { + console.error((new Date), "couldn't fetch origin"); + } + var user_name = Functions.hash_pass(Functions.rndName(uniqid.time(), 15)); + res.cookie('_uI', user_name, { + maxAge: 365 * 10000 * 3600000, + httpOnly: true, + secure: secure, + sameSite: true, + }); + } else { + //process.stderr.write((new Date), "couldn't fetch cookie for some reason, maybe no cookie exists?", req, "couldn't fetch cookie for some reason, maybe no cookie exists?"); + res.cookie('_uI', cookie, { + maxAge: 365 * 10000 * 3600000, + httpOnly: true, + secure: secure, + sameSite: true, + }); + } + res.header("Access-Control-Allow-Origin", "*"); + res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); + next(); } - res.header("Access-Control-Allow-Origin", "*"); - res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); - next(); } });