diff --git a/services/web/app/src/infrastructure/JsonWebToken.js b/services/web/app/src/infrastructure/JsonWebToken.js index 0a49e97062..8ce7c78ba4 100644 --- a/services/web/app/src/infrastructure/JsonWebToken.js +++ b/services/web/app/src/infrastructure/JsonWebToken.js @@ -14,8 +14,15 @@ async function sign(payload, options = {}) { return token } +function getDecoded(token) { + const key = Settings.jwt.key + const decoded = JWT.verify(token, key) + return decoded +} + module.exports = { sign: callbackify(sign), + getDecoded, promises: { sign, }, diff --git a/services/web/app/src/router.mjs b/services/web/app/src/router.mjs index b856a23d75..2368d61110 100644 --- a/services/web/app/src/router.mjs +++ b/services/web/app/src/router.mjs @@ -506,6 +506,7 @@ async function initialize(webRouter, privateApiRouter, publicApiRouter) { AuthenticationController.requireLogin(), RateLimiterMiddleware.rateLimit(rateLimiters.openDashboard), AsyncLocalStorage.middleware, + await Modules.middleware('domainCaptureTestSession'), PermissionsController.useCapabilities(), ProjectListController.projectListPage ) diff --git a/services/web/frontend/js/utils/meta.ts b/services/web/frontend/js/utils/meta.ts index c01bed5fab..993dba604c 100644 --- a/services/web/frontend/js/utils/meta.ts +++ b/services/web/frontend/js/utils/meta.ts @@ -113,6 +113,7 @@ export interface Meta { 'ol-detachRole': 'detached' | 'detacher' | '' 'ol-dictionariesRoot': 'string' 'ol-domainCaptureEnabled': boolean | undefined + 'ol-domainCaptureTestURL': string | undefined 'ol-dropbox': { error: boolean; registered: boolean } 'ol-editorThemes': string[] 'ol-email': string