mirror of
https://github.com/linuxserver/heimdalljs.git
synced 2026-02-20 05:12:24 +08:00
26 lines
643 B
JavaScript
26 lines
643 B
JavaScript
'use strict'
|
|
|
|
const passport = require('passport')
|
|
|
|
module.exports = {
|
|
authorize: (req, res, next) => {
|
|
passport.authorize('jwt', { session: false }, (err, user) => {
|
|
if (err) {
|
|
req.user = null
|
|
}
|
|
|
|
if (user && !req.originalUrl.match(/\/logout/)) {
|
|
// Extend the tokens life while the user is browsing
|
|
const token = user.generateJWT()
|
|
res.cookie('jwt', token, {
|
|
domain: `.${req.host.split('.').slice(-2).join('.')}`, // Set cookie on top level domain for auth proxying
|
|
maxAge: 3600000
|
|
})
|
|
}
|
|
|
|
req.user = user
|
|
next()
|
|
})(req, res, next)
|
|
}
|
|
}
|