@paroicms/server
Version:
The ParoiCMS server
26 lines • 978 B
JavaScript
import passport from "passport";
import { Strategy as GoogleStrategy } from "passport-google-oauth20";
import { appConf, platformAuthUrl, platformLogger } from "../context.js";
import { validateOAuthLogin } from "./account-auth.service.js";
if (!appConf.googleAuth || appConf.googleAuth.disabled) {
throw new Error("Google auth is disabled");
}
export default passport.use(new GoogleStrategy({
clientID: appConf.googleAuth.clientId,
clientSecret: appConf.googleAuth.clientSecret,
callbackURL: `${platformAuthUrl}/google/callback`,
passReqToCallback: true,
scope: ["email"],
}, async (_req, _accessToken, _refreshToken, profile, done) => {
try {
if (!profile)
throw new Error(`Can't connect to Google`);
const user = await validateOAuthLogin(profile);
done(null, user);
}
catch (err) {
platformLogger.error(err);
done(err, false);
}
}));
//# sourceMappingURL=account-auth.strategy.js.map