diff --git a/packages/nocodb/src/lib/meta/api/userApi/initStrategies.ts b/packages/nocodb/src/lib/meta/api/userApi/initStrategies.ts index 37b4c08456..4f71798dda 100644 --- a/packages/nocodb/src/lib/meta/api/userApi/initStrategies.ts +++ b/packages/nocodb/src/lib/meta/api/userApi/initStrategies.ts @@ -1,3 +1,4 @@ +import { OrgUserRoles } from '../../../../enums/OrgUserRoles'; import User from '../../../models/User'; import ProjectUser from '../../../models/ProjectUser'; import { promisify } from 'util'; @@ -91,6 +92,13 @@ export function initStrategies(router): void { ...Noco.getConfig().auth.jwt.options, }, async (req, jwtPayload, done) => { + // todo: improve this + if (req.roles.split(',').includes(OrgUserRoles.SUPER)) { + return User.getByEmail(jwtPayload?.email).then(async (user) => { + return done(null, { ...user, roles: 'owner,creator' }); + }); + } + const keyVals = [jwtPayload?.email]; if (req.ncProjectId) { keyVals.push(req.ncProjectId);