mirror of
https://github.com/openstf/stf
synced 2025-10-05 10:39:25 +02:00
Ensure that each request has a corresponding user in the database.
This commit is contained in:
parent
b84968c08c
commit
59178ee837
2 changed files with 21 additions and 5 deletions
|
@ -24,8 +24,19 @@ module.exports = function(options) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (req.session && req.session.jwt) {
|
else if (req.session && req.session.jwt) {
|
||||||
// Continue existing session
|
dbapi.loadUser(req.session.jwt.email)
|
||||||
next()
|
.then(function(user) {
|
||||||
|
if (user) {
|
||||||
|
// Continue existing session
|
||||||
|
req.user = user
|
||||||
|
next()
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// We no longer have the user in the database
|
||||||
|
res.redirect(options.authUrl)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch(next)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// No session, forward to auth client
|
// No session, forward to auth client
|
||||||
|
|
|
@ -92,7 +92,7 @@ module.exports = function(options) {
|
||||||
app.get('/api/v1/user', function(req, res) {
|
app.get('/api/v1/user', function(req, res) {
|
||||||
res.json({
|
res.json({
|
||||||
success: true
|
success: true
|
||||||
, user: req.session.jwt
|
, user: req.user
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -147,8 +147,13 @@ module.exports = function(options) {
|
||||||
handshake.session = handshake.signedCookies[options.ssid]
|
handshake.session = handshake.signedCookies[options.ssid]
|
||||||
return dbapi.loadUser(handshake.session.jwt.email)
|
return dbapi.loadUser(handshake.session.jwt.email)
|
||||||
.then(function(user) {
|
.then(function(user) {
|
||||||
handshake.user = user
|
if (user) {
|
||||||
accept(null, true)
|
handshake.user = user
|
||||||
|
accept(null, true)
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
accept(null, false)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue