diff options
Diffstat (limited to 'bucky')
| -rw-r--r-- | bucky/util/auth.js | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/bucky/util/auth.js b/bucky/util/auth.js index 2ca1b94..b49b176 100644 --- a/bucky/util/auth.js +++ b/bucky/util/auth.js @@ -1,5 +1,6 @@ var passport = require("passport"); var LocalStrategy = require("passport-local").Strategy; +var useragent = require("express-useragent"); var crypto = require("crypto"); var crypt = require("unix-crypt-td-js"); var fs = require("fs"); @@ -109,13 +110,21 @@ var auth = (module.exports = { login: function (req, res) { if (req.isAuthenticated()) { - var returnTo = req.session.returnTo; + let ua = useragent.parse(req.headers["user-agent"]); + let { returnTo } = req.session; + if ( + !returnTo || + returnTo.startsWith("/login") || + returnTo.startsWith("/index") + ) { + returnTo = ua.isMobile ? "/stream" : "/index"; + } delete req.session.returnTo; console.log(">> logged in", req.user.get("username")); return res.json({ status: "OK", user: util.sanitizeUser(req.user), - returnTo: returnTo || "/index", + returnTo, }); } res.json({ |
