From a652e43ab1681c43de657dbcb276c006e5e2133a Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Fri, 25 Mar 2022 21:17:04 -0400 Subject: [PATCH] fix: handle multi social auth strategies --- server/modules/authentication/auth0/authentication.js | 2 +- server/modules/authentication/azure/authentication.js | 2 +- server/modules/authentication/cas/authentication.js | 2 +- server/modules/authentication/discord/authentication.js | 2 +- server/modules/authentication/dropbox/authentication.js | 2 +- server/modules/authentication/facebook/authentication.js | 2 +- server/modules/authentication/firebase/authentication.js | 2 +- server/modules/authentication/github/authentication.js | 2 +- server/modules/authentication/gitlab/authentication.js | 2 +- server/modules/authentication/google/authentication.js | 2 +- server/modules/authentication/keycloak/authentication.js | 2 +- server/modules/authentication/microsoft/authentication.js | 2 +- server/modules/authentication/oauth2/authentication.js | 2 +- server/modules/authentication/oidc/authentication.js | 2 +- server/modules/authentication/okta/authentication.js | 2 +- server/modules/authentication/rocketchat/authentication.js | 2 +- server/modules/authentication/saml/authentication.js | 2 +- server/modules/authentication/slack/authentication.js | 2 +- server/modules/authentication/twitch/authentication.js | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/server/modules/authentication/auth0/authentication.js b/server/modules/authentication/auth0/authentication.js index dd037a14..9eade81a 100644 --- a/server/modules/authentication/auth0/authentication.js +++ b/server/modules/authentication/auth0/authentication.js @@ -8,7 +8,7 @@ const Auth0Strategy = require('passport-auth0').Strategy module.exports = { init (passport, conf) { - passport.use('auth0', + passport.use(conf.key, new Auth0Strategy({ domain: conf.domain, clientID: conf.clientId, diff --git a/server/modules/authentication/azure/authentication.js b/server/modules/authentication/azure/authentication.js index 711ddb37..a983d148 100644 --- a/server/modules/authentication/azure/authentication.js +++ b/server/modules/authentication/azure/authentication.js @@ -23,7 +23,7 @@ module.exports = { keyString = keyString.substring(44); } } - passport.use('azure', + passport.use(conf.key, new OIDCStrategy({ identityMetadata: conf.entryPoint, clientID: conf.clientId, diff --git a/server/modules/authentication/cas/authentication.js b/server/modules/authentication/cas/authentication.js index b099eeb7..eae89aff 100644 --- a/server/modules/authentication/cas/authentication.js +++ b/server/modules/authentication/cas/authentication.js @@ -8,7 +8,7 @@ const CASStrategy = require('passport-cas').Strategy module.exports = { init (passport, conf) { - passport.use('cas', + passport.use(conf.key, new CASStrategy({ ssoBaseURL: conf.ssoBaseURL, serverBaseURL: conf.serverBaseURL, diff --git a/server/modules/authentication/discord/authentication.js b/server/modules/authentication/discord/authentication.js index 4867e468..eab94fd5 100644 --- a/server/modules/authentication/discord/authentication.js +++ b/server/modules/authentication/discord/authentication.js @@ -9,7 +9,7 @@ const _ = require('lodash') module.exports = { init (passport, conf) { - passport.use('discord', + passport.use(conf.key, new DiscordStrategy({ clientID: conf.clientId, clientSecret: conf.clientSecret, diff --git a/server/modules/authentication/dropbox/authentication.js b/server/modules/authentication/dropbox/authentication.js index 808af4e5..c5879e0d 100644 --- a/server/modules/authentication/dropbox/authentication.js +++ b/server/modules/authentication/dropbox/authentication.js @@ -9,7 +9,7 @@ const _ = require('lodash') module.exports = { init (passport, conf) { - passport.use('dropbox', + passport.use(conf.key, new DropboxStrategy({ apiVersion: '2', clientID: conf.clientId, diff --git a/server/modules/authentication/facebook/authentication.js b/server/modules/authentication/facebook/authentication.js index af3ba6db..a0dfaf0f 100644 --- a/server/modules/authentication/facebook/authentication.js +++ b/server/modules/authentication/facebook/authentication.js @@ -9,7 +9,7 @@ const _ = require('lodash') module.exports = { init (passport, conf) { - passport.use('facebook', + passport.use(conf.key, new FacebookStrategy({ clientID: conf.clientId, clientSecret: conf.clientSecret, diff --git a/server/modules/authentication/firebase/authentication.js b/server/modules/authentication/firebase/authentication.js index 05e5e9e9..344cd8e3 100644 --- a/server/modules/authentication/firebase/authentication.js +++ b/server/modules/authentication/firebase/authentication.js @@ -11,7 +11,7 @@ const _ = require('lodash') module.exports = { init (passport, conf) { - passport.use('firebase', + passport.use(conf.key, new FirebaseStrategy({ clientID: conf.clientId, clientSecret: conf.clientSecret, diff --git a/server/modules/authentication/github/authentication.js b/server/modules/authentication/github/authentication.js index 487884e5..49ac7609 100644 --- a/server/modules/authentication/github/authentication.js +++ b/server/modules/authentication/github/authentication.js @@ -24,7 +24,7 @@ module.exports = { githubConfig.userEmailURL = `${conf.enterpriseUserEndpoint}/emails` } - passport.use('github', + passport.use(conf.key, new GitHubStrategy(githubConfig, async (req, accessToken, refreshToken, profile, cb) => { try { const user = await WIKI.models.users.processProfile({ diff --git a/server/modules/authentication/gitlab/authentication.js b/server/modules/authentication/gitlab/authentication.js index 7c7a76e9..15d5229b 100644 --- a/server/modules/authentication/gitlab/authentication.js +++ b/server/modules/authentication/gitlab/authentication.js @@ -9,7 +9,7 @@ const _ = require('lodash') module.exports = { init (passport, conf) { - passport.use('gitlab', + passport.use(conf.key, new GitLabStrategy({ clientID: conf.clientId, clientSecret: conf.clientSecret, diff --git a/server/modules/authentication/google/authentication.js b/server/modules/authentication/google/authentication.js index d7ba3b32..3af03cb2 100644 --- a/server/modules/authentication/google/authentication.js +++ b/server/modules/authentication/google/authentication.js @@ -40,7 +40,7 @@ module.exports = { } } - passport.use('google', strategy) + passport.use(conf.key, strategy) }, logout (conf) { return '/' diff --git a/server/modules/authentication/keycloak/authentication.js b/server/modules/authentication/keycloak/authentication.js index 782a62a1..ce9a00c5 100644 --- a/server/modules/authentication/keycloak/authentication.js +++ b/server/modules/authentication/keycloak/authentication.js @@ -10,7 +10,7 @@ const KeycloakStrategy = require('@exlinc/keycloak-passport') module.exports = { init (passport, conf) { - passport.use('keycloak', + passport.use(conf.key, new KeycloakStrategy({ authorizationURL: conf.authorizationURL, userInfoURL: conf.userInfoURL, diff --git a/server/modules/authentication/microsoft/authentication.js b/server/modules/authentication/microsoft/authentication.js index e3455288..fd400628 100644 --- a/server/modules/authentication/microsoft/authentication.js +++ b/server/modules/authentication/microsoft/authentication.js @@ -9,7 +9,7 @@ const _ = require('lodash') module.exports = { init (passport, conf) { - passport.use('microsoft', + passport.use(conf.key, new WindowsLiveStrategy({ clientID: conf.clientId, clientSecret: conf.clientSecret, diff --git a/server/modules/authentication/oauth2/authentication.js b/server/modules/authentication/oauth2/authentication.js index 55b6cd84..414de7a9 100644 --- a/server/modules/authentication/oauth2/authentication.js +++ b/server/modules/authentication/oauth2/authentication.js @@ -49,7 +49,7 @@ module.exports = { done(null, data) }) } - passport.use('oauth2', client) + passport.use(conf.key, client) }, logout (conf) { if (!conf.logoutURL) { diff --git a/server/modules/authentication/oidc/authentication.js b/server/modules/authentication/oidc/authentication.js index c07f4cbe..6bd244fe 100644 --- a/server/modules/authentication/oidc/authentication.js +++ b/server/modules/authentication/oidc/authentication.js @@ -10,7 +10,7 @@ const OpenIDConnectStrategy = require('passport-openidconnect').Strategy module.exports = { init (passport, conf) { - passport.use('oidc', + passport.use(conf.key, new OpenIDConnectStrategy({ authorizationURL: conf.authorizationURL, tokenURL: conf.tokenURL, diff --git a/server/modules/authentication/okta/authentication.js b/server/modules/authentication/okta/authentication.js index 60b303df..cd424ae7 100644 --- a/server/modules/authentication/okta/authentication.js +++ b/server/modules/authentication/okta/authentication.js @@ -9,7 +9,7 @@ const _ = require('lodash') module.exports = { init (passport, conf) { - passport.use('okta', + passport.use(conf.key, new OktaStrategy({ audience: conf.audience, clientID: conf.clientId, diff --git a/server/modules/authentication/rocketchat/authentication.js b/server/modules/authentication/rocketchat/authentication.js index edffef00..c966326e 100644 --- a/server/modules/authentication/rocketchat/authentication.js +++ b/server/modules/authentication/rocketchat/authentication.js @@ -33,7 +33,7 @@ module.exports = { }) } - passport.use('rocketchat', + passport.use(conf.key, new OAuth2Strategy({ authorizationURL: `${siteURL}/oauth/authorize`, tokenURL: `${siteURL}/oauth/token`, diff --git a/server/modules/authentication/saml/authentication.js b/server/modules/authentication/saml/authentication.js index 2132c1ea..1eb8e2c2 100644 --- a/server/modules/authentication/saml/authentication.js +++ b/server/modules/authentication/saml/authentication.js @@ -37,7 +37,7 @@ module.exports = { if (!_.isEmpty(conf.decryptionPvk)) { samlConfig.decryptionPvk = conf.decryptionPvk } - passport.use('saml', + passport.use(conf.key, new SAMLStrategy(samlConfig, async (req, profile, cb) => { try { const userId = _.get(profile, [conf.mappingUID], null) || _.get(profile, 'nameID', null) diff --git a/server/modules/authentication/slack/authentication.js b/server/modules/authentication/slack/authentication.js index 984ce28a..52d15d5f 100644 --- a/server/modules/authentication/slack/authentication.js +++ b/server/modules/authentication/slack/authentication.js @@ -9,7 +9,7 @@ const _ = require('lodash') module.exports = { init (passport, conf) { - passport.use('slack', + passport.use(conf.key, new SlackStrategy({ clientID: conf.clientId, clientSecret: conf.clientSecret, diff --git a/server/modules/authentication/twitch/authentication.js b/server/modules/authentication/twitch/authentication.js index 9518dd17..e267c7e2 100644 --- a/server/modules/authentication/twitch/authentication.js +++ b/server/modules/authentication/twitch/authentication.js @@ -9,7 +9,7 @@ const _ = require('lodash') module.exports = { init (passport, conf) { - passport.use('twitch', + passport.use(conf.key, new TwitchStrategy({ clientID: conf.clientId, clientSecret: conf.clientSecret,