diff --git a/deploy/auth/util.js b/deploy/auth/util.js index 554d5f4970f6639e3f436eaabb5cddcc7949fb40..c9240bf3d7b1cd8cdec89a8b3df6b7b8520073db 100644 --- a/deploy/auth/util.js +++ b/deploy/auth/util.js @@ -2,10 +2,11 @@ const { configureAuth } = require('./oidc') const jwtDecode = require('jwt-decode') const HOSTNAME = process.env.HOSTNAME || 'http://localhost:3000' +const HOST_PATHNAME = process.env.HOST_PATHNAME || '' const clientId = process.env.HBP_CLIENTID || 'no hbp id' const clientSecret = process.env.HBP_CLIENTSECRET || 'no hbp client secret' const discoveryUrl = 'https://services.humanbrainproject.eu/oidc' -const redirectUri = `${HOSTNAME}/hbp-oidc/cb` +const redirectUri = `${HOSTNAME}${HOST_PATHNAME}/hbp-oidc/cb` let REFRESH_TOKEN = process.env.REFRESH_TOKEN || null const CLIENT_NOT_INIT = `Client is not initialised.` diff --git a/deploy/datasets/supplements/previewFile.js b/deploy/datasets/supplements/previewFile.js index 2600b01bb9615dab3c7ee4aa18878405bfb18070..7c3edcaab9e8f965b97b6ab94b74a45f6a3a9741 100644 --- a/deploy/datasets/supplements/previewFile.js +++ b/deploy/datasets/supplements/previewFile.js @@ -6,6 +6,7 @@ const DISABLE_JUBRAIN_PMAP = process.env.DISABLE_JUBRAIN_PMAP const DISABLE_JUBRAIN_PMAP_V17 = process.env.DISABLE_JUBRAIN_PMAP_V17 const DISABLE_DWM_PMAP = process.env.DISABLE_DWM_PMAP const HOSTNAME = process.env.HOSTNAME || 'http://localhost:3000' +const HOST_PATHNAME = process.env.HOST_PATHNAME || '' let previewMap = new Map(), previewMapKeySet = new Set() @@ -48,7 +49,7 @@ exports.getPreviewFile = ({ datasetName, templateSelected }) => previewMap.get(d ...file, ...(file.url && !/^http/.test(file.url) ? { - url: `${HOSTNAME}/${file.url}` + url: `${HOSTNAME}${HOST_PATHNAME}/${file.url}` } : {}) } diff --git a/deploy/server.js b/deploy/server.js index a0f8950e82e562e36bbcbd6307b9ce85825baa24..ce483fb833f85430d3a557af0c66b267fd490fab 100644 --- a/deploy/server.js +++ b/deploy/server.js @@ -66,6 +66,11 @@ const PORT = process.env.PORT || 3000 // n.b. no trailing slash is important const HOST_PATHNAME = process.env.HOST_PATHNAME || '' +if(HOST_PATHNAME !== '') { + if (HOST_PATHNAME.slice(0,1) !== '/') throw new Error(`HOST_PATHNAME, if defined and non-empty, should start with a leading slash. HOST_PATHNAME: ${HOST_PATHNAME}`) + if (HOST_PATHNAME.slice(-1) === '/') throw new Error(`HOST_PATHNAME, if defined and non-emtpy, should NOT end with a slash. HOST_PATHNAME: ${HOST_PATHNAME}`) +} + server.disable('x-powered-by') server.use(HOST_PATHNAME, app)