budibase/packages/auth/src/middleware/authenticated.js

22 lines
570 B
JavaScript
Raw Normal View History

2021-04-11 12:35:55 +02:00
const { Cookies } = require("../constants")
const { getCookie } = require("../utils")
const { getEmailFromUserID } = require("../db/utils")
2021-04-11 12:35:55 +02:00
module.exports = async (ctx, next) => {
try {
// check the actual user is authenticated first
const authCookie = getCookie(ctx, Cookies.Auth)
2021-04-11 12:35:55 +02:00
if (authCookie) {
ctx.isAuthenticated = true
ctx.user = authCookie
// make sure email is correct from ID
ctx.user.email = getEmailFromUserID(authCookie._id)
2021-04-11 12:35:55 +02:00
}
await next()
} catch (err) {
ctx.throw(err.status || 403, err.text)
}
}