diff --git a/packages/auth/src/cache/user.js b/packages/auth/src/cache/user.js index d5424d277b..4a19da489f 100644 --- a/packages/auth/src/cache/user.js +++ b/packages/auth/src/cache/user.js @@ -1,9 +1,5 @@ const redis = require("../redis/authRedis") -const { - getTenantId, - lookupTenantId, - getGlobalDB, -} = require("../tenancy") +const { getTenantId, lookupTenantId, getGlobalDB } = require("../tenancy") const EXPIRY_SECONDS = 3600 diff --git a/packages/auth/src/tenancy/FunctionContext.js b/packages/auth/src/tenancy/FunctionContext.js index 06e0d92f5c..d97a3a30b4 100644 --- a/packages/auth/src/tenancy/FunctionContext.js +++ b/packages/auth/src/tenancy/FunctionContext.js @@ -7,18 +7,20 @@ class FunctionContext { static getMiddleware(updateCtxFn = null) { const namespace = this.createNamespace() - return async function(ctx, next) { - await new Promise(namespace.bind(function(resolve, reject) { - // store a contextual request ID that can be used anywhere (audit logs) - namespace.set(REQUEST_ID_KEY, newid()) - namespace.bindEmitter(ctx.req) - namespace.bindEmitter(ctx.res) + return async function (ctx, next) { + await new Promise( + namespace.bind(function (resolve, reject) { + // store a contextual request ID that can be used anywhere (audit logs) + namespace.set(REQUEST_ID_KEY, newid()) + namespace.bindEmitter(ctx.req) + namespace.bindEmitter(ctx.res) - if (updateCtxFn) { - updateCtxFn(ctx) - } - next().then(resolve).catch(reject) - })) + if (updateCtxFn) { + updateCtxFn(ctx) + } + next().then(resolve).catch(reject) + }) + ) } } @@ -35,7 +37,9 @@ class FunctionContext { static getContextStorage() { if (this._namespace && this._namespace.active) { - const { id, _ns_name, ...contextData } = this._namespace.active + let contextData = this._namespace.active + delete contextData.id + delete contextData._ns_name return contextData } diff --git a/packages/auth/src/tenancy/context.js b/packages/auth/src/tenancy/context.js index 71fba2a3d5..aa63309928 100644 --- a/packages/auth/src/tenancy/context.js +++ b/packages/auth/src/tenancy/context.js @@ -35,7 +35,10 @@ exports.updateTenantId = tenantId => { cls.setOnContext(TENANT_ID, tenantId) } -exports.setTenantId = (ctx, opts = { allowQs: false, allowNoTenant: false }) => { +exports.setTenantId = ( + ctx, + opts = { allowQs: false, allowNoTenant: false } +) => { let tenantId // exit early if not multi-tenant if (!exports.isMultiTenant()) { diff --git a/packages/worker/src/api/controllers/global/users.js b/packages/worker/src/api/controllers/global/users.js index 0ba4dd7986..f43195a1de 100644 --- a/packages/worker/src/api/controllers/global/users.js +++ b/packages/worker/src/api/controllers/global/users.js @@ -13,7 +13,13 @@ const { user: userCache } = require("@budibase/auth/cache") const { invalidateSessions } = require("@budibase/auth/sessions") const CouchDB = require("../../../db") const env = require("../../../environment") -const { getGlobalDB, getTenantId, doesTenantExist, tryAddTenant, updateTenantId } = require("@budibase/auth/tenancy") +const { + getGlobalDB, + getTenantId, + doesTenantExist, + tryAddTenant, + updateTenantId, +} = require("@budibase/auth/tenancy") const PLATFORM_INFO_DB = StaticDatabases.PLATFORM_INFO.name diff --git a/packages/worker/src/api/routes/global/auth.js b/packages/worker/src/api/routes/global/auth.js index bf9ebfcb7c..f85d08057b 100644 --- a/packages/worker/src/api/routes/global/auth.js +++ b/packages/worker/src/api/routes/global/auth.js @@ -54,14 +54,26 @@ router authController.resetUpdate ) .post("/api/global/auth/logout", authController.logout) - .get("/api/global/auth/:tenantId/google", updateTenant, authController.googlePreAuth) - .get("/api/global/auth/:tenantId/google/callback", updateTenant, authController.googleAuth) + .get( + "/api/global/auth/:tenantId/google", + updateTenant, + authController.googlePreAuth + ) + .get( + "/api/global/auth/:tenantId/google/callback", + updateTenant, + authController.googleAuth + ) .get( "/api/global/auth/:tenantId/oidc/configs/:configId", updateTenant, authController.oidcPreAuth ) - .get("/api/global/auth/:tenantId/oidc/callback", updateTenant, authController.oidcAuth) + .get( + "/api/global/auth/:tenantId/oidc/callback", + updateTenant, + authController.oidcAuth + ) // deprecated - used by the default system before tenancy .get("/api/admin/auth/google/callback", authController.googleAuth) .get("/api/admin/auth/oidc/callback", authController.oidcAuth)