mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-09-22 08:12:00 +02:00
44 lines
1.1 KiB
JavaScript
44 lines
1.1 KiB
JavaScript
![]() |
const session = require('express-session');
|
||
|
const passport = require('passport');
|
||
|
const {
|
||
|
googleLogin,
|
||
|
githubLogin,
|
||
|
discordLogin,
|
||
|
facebookLogin,
|
||
|
setupOpenId,
|
||
|
} = require('../strategies');
|
||
|
|
||
|
const configureSocialLogins = (app) => {
|
||
|
if (process.env.GOOGLE_CLIENT_ID && process.env.GOOGLE_CLIENT_SECRET) {
|
||
|
passport.use(googleLogin());
|
||
|
}
|
||
|
if (process.env.FACEBOOK_CLIENT_ID && process.env.FACEBOOK_CLIENT_SECRET) {
|
||
|
passport.use(facebookLogin());
|
||
|
}
|
||
|
if (process.env.GITHUB_CLIENT_ID && process.env.GITHUB_CLIENT_SECRET) {
|
||
|
passport.use(githubLogin());
|
||
|
}
|
||
|
if (process.env.DISCORD_CLIENT_ID && process.env.DISCORD_CLIENT_SECRET) {
|
||
|
passport.use(discordLogin());
|
||
|
}
|
||
|
if (
|
||
|
process.env.OPENID_CLIENT_ID &&
|
||
|
process.env.OPENID_CLIENT_SECRET &&
|
||
|
process.env.OPENID_ISSUER &&
|
||
|
process.env.OPENID_SCOPE &&
|
||
|
process.env.OPENID_SESSION_SECRET
|
||
|
) {
|
||
|
app.use(
|
||
|
session({
|
||
|
secret: process.env.OPENID_SESSION_SECRET,
|
||
|
resave: false,
|
||
|
saveUninitialized: false,
|
||
|
}),
|
||
|
);
|
||
|
app.use(passport.session());
|
||
|
setupOpenId();
|
||
|
}
|
||
|
};
|
||
|
|
||
|
module.exports = configureSocialLogins;
|