diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index 38bae88a..69f48b62 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -78,6 +78,7 @@ services: # - OIDC_IGNORE_USERNAME=true # - OIDC_IGNORE_ROLES=true # - OIDC_ENFORCED=true + # - OIDC_TIMEOUT=3500 # - OIDC_DEBUG=true # Email Notifications (https://nodemailer.com/smtp/) diff --git a/docker-compose.yml b/docker-compose.yml index 9fbda321..c60582a5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -96,6 +96,7 @@ services: # - OIDC_IGNORE_USERNAME=true # - OIDC_IGNORE_ROLES=true # - OIDC_ENFORCED=true + # - OIDC_TIMEOUT=3500 # - OIDC_DEBUG=true # Email Notifications (https://nodemailer.com/smtp/) diff --git a/server/.env.sample b/server/.env.sample index afb50da0..d4afefdf 100644 --- a/server/.env.sample +++ b/server/.env.sample @@ -69,6 +69,7 @@ SECRET_KEY=notsecretkey # OIDC_IGNORE_USERNAME=true # OIDC_IGNORE_ROLES=true # OIDC_ENFORCED=true +# OIDC_TIMEOUT=3500 # OIDC_DEBUG=true # Email Notifications (https://nodemailer.com/smtp/) diff --git a/server/api/hooks/oidc/index.js b/server/api/hooks/oidc/index.js index 73a1dce2..ec673250 100644 --- a/server/api/hooks/oidc/index.js +++ b/server/api/hooks/oidc/index.js @@ -45,6 +45,12 @@ module.exports = function defineOidcHook(sails) { clientInitPromise = (async () => { sails.log.info('Initializing OIDC client'); + if (sails.config.custom.oidcTimeout !== null) { + openidClient.custom.setHttpOptionsDefaults({ + timeout: sails.config.custom.oidcTimeout, + }); + } + let issuer; try { issuer = await openidClient.Issuer.discover(sails.config.custom.oidcIssuer); diff --git a/server/config/custom.js b/server/config/custom.js index 915b3958..8ba7f568 100644 --- a/server/config/custom.js +++ b/server/config/custom.js @@ -92,6 +92,7 @@ module.exports.custom = { oidcIgnoreUsername: process.env.OIDC_IGNORE_USERNAME === 'true', oidcIgnoreRoles: process.env.OIDC_IGNORE_ROLES === 'true', oidcEnforced: process.env.OIDC_ENFORCED === 'true', + oidcTimeout: envToNumber(process.env.OIDC_TIMEOUT), oidcDebug: process.env.OIDC_DEBUG === 'true', // TODO: move client base url to environment variable?