Browse Source
fix: handle multi social auth strategies
pull/5132/head
Nicolas Giard
2 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with
19 additions and
19 deletions
-
server/modules/authentication/auth0/authentication.js
-
server/modules/authentication/azure/authentication.js
-
server/modules/authentication/cas/authentication.js
-
server/modules/authentication/discord/authentication.js
-
server/modules/authentication/dropbox/authentication.js
-
server/modules/authentication/facebook/authentication.js
-
server/modules/authentication/firebase/authentication.js
-
server/modules/authentication/github/authentication.js
-
server/modules/authentication/gitlab/authentication.js
-
server/modules/authentication/google/authentication.js
-
server/modules/authentication/keycloak/authentication.js
-
server/modules/authentication/microsoft/authentication.js
-
server/modules/authentication/oauth2/authentication.js
-
server/modules/authentication/oidc/authentication.js
-
server/modules/authentication/okta/authentication.js
-
server/modules/authentication/rocketchat/authentication.js
-
server/modules/authentication/saml/authentication.js
-
server/modules/authentication/slack/authentication.js
-
server/modules/authentication/twitch/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, |
|
|
|
|
|
@ -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, |
|
|
|
|
|
@ -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, |
|
|
|
|
|
@ -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, |
|
|
|
|
|
@ -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, |
|
|
|
|
|
@ -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, |
|
|
|
|
|
@ -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, |
|
|
|
|
|
@ -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({ |
|
|
|
|
|
@ -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, |
|
|
|
|
|
@ -40,7 +40,7 @@ module.exports = { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
passport.use('google', strategy) |
|
|
|
passport.use(conf.key, strategy) |
|
|
|
}, |
|
|
|
logout (conf) { |
|
|
|
return '/' |
|
|
|
|
|
@ -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, |
|
|
|
|
|
@ -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, |
|
|
|
|
|
@ -49,7 +49,7 @@ module.exports = { |
|
|
|
done(null, data) |
|
|
|
}) |
|
|
|
} |
|
|
|
passport.use('oauth2', client) |
|
|
|
passport.use(conf.key, client) |
|
|
|
}, |
|
|
|
logout (conf) { |
|
|
|
if (!conf.logoutURL) { |
|
|
|
|
|
@ -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, |
|
|
|
|
|
@ -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, |
|
|
|
|
|
@ -33,7 +33,7 @@ module.exports = { |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
passport.use('rocketchat', |
|
|
|
passport.use(conf.key, |
|
|
|
new OAuth2Strategy({ |
|
|
|
authorizationURL: `${siteURL}/oauth/authorize`, |
|
|
|
tokenURL: `${siteURL}/oauth/token`, |
|
|
|
|
|
@ -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) |
|
|
|
|
|
@ -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, |
|
|
|
|
|
@ -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, |
|
|
|