diff --git a/.env.example b/.env.example index 93408df7bba..d87021ea4b3 100644 --- a/.env.example +++ b/.env.example @@ -389,6 +389,9 @@ FACEBOOK_CALLBACK_URL=/oauth/facebook/callback GITHUB_CLIENT_ID= GITHUB_CLIENT_SECRET= GITHUB_CALLBACK_URL=/oauth/github/callback +# GitHub Eenterprise +# GITHUB_ENTERPRISE_BASE_URL= +# GITHUB_ENTERPRISE_USER_AGENT= # Google GOOGLE_CLIENT_ID= diff --git a/api/server/socialLogins.js b/api/server/socialLogins.js index ec3a73e0ac0..f39d1da5963 100644 --- a/api/server/socialLogins.js +++ b/api/server/socialLogins.js @@ -64,4 +64,4 @@ const configureSocialLogins = (app) => { } }; -module.exports = configureSocialLogins; +module.exports = configureSocialLogins; \ No newline at end of file diff --git a/api/strategies/githubStrategy.js b/api/strategies/githubStrategy.js index bb3712eeba0..1c3937381ed 100644 --- a/api/strategies/githubStrategy.js +++ b/api/strategies/githubStrategy.js @@ -20,6 +20,15 @@ module.exports = () => callbackURL: `${process.env.DOMAIN_SERVER}${process.env.GITHUB_CALLBACK_URL}`, proxy: false, scope: ['user:email'], + ...(process.env.GITHUB_ENTERPRISE_BASE_URL && { + authorizationURL: `${process.env.GITHUB_ENTERPRISE_BASE_URL}/login/oauth/authorize`, + tokenURL: `${process.env.GITHUB_ENTERPRISE_BASE_URL}/login/oauth/access_token`, + userProfileURL: `${process.env.GITHUB_ENTERPRISE_BASE_URL}/api/v3/user`, + userEmailURL: `${process.env.GITHUB_ENTERPRISE_BASE_URL}/api/v3/user/emails`, + ...(process.env.GITHUB_ENTERPRISE_USER_AGENT && { + userAgent: process.env.GITHUB_ENTERPRISE_USER_AGENT, + }), + }), }, githubLogin, ); diff --git a/api/strategies/index.js b/api/strategies/index.js index cac8460914a..242984beaff 100644 --- a/api/strategies/index.js +++ b/api/strategies/index.js @@ -18,4 +18,4 @@ module.exports = { facebookLogin, setupOpenId, ldapLogin, -}; +}; \ No newline at end of file