diff --git a/api/strategies/openidStrategy.js b/api/strategies/openidStrategy.js index b69b63776d..30762898a6 100644 --- a/api/strategies/openidStrategy.js +++ b/api/strategies/openidStrategy.js @@ -1,7 +1,8 @@ const fetch = require('node-fetch'); const passport = require('passport'); const jwtDecode = require('jsonwebtoken/decode'); -const { Issuer, Strategy: OpenIDStrategy } = require('openid-client'); +const { HttpsProxyAgent } = require('https-proxy-agent'); +const { Issuer, Strategy: OpenIDStrategy, custom } = require('openid-client'); const { getStrategyFunctions } = require('~/server/services/Files/strategies'); const { findUser, createUser, updateUser } = require('~/models/userMethods'); const { logger } = require('~/config'); @@ -67,6 +68,13 @@ function convertToUsername(input, defaultValue = '') { async function setupOpenId() { try { + if (process.env.PROXY) { + const proxyAgent = new HttpsProxyAgent(process.env.PROXY); + custom.setHttpOptionsDefaults({ + agent: proxyAgent + }); + logger.info(`[openidStrategy] proxy agent added: ${process.env.PROXY}`); + } const issuer = await Issuer.discover(process.env.OPENID_ISSUER); const client = new issuer.Client({ client_id: process.env.OPENID_CLIENT_ID,