Add Google SSO

This commit is contained in:
Tuan Dang
2023-07-21 17:48:36 +07:00
parent 44108621b4
commit fd3cf70e13
12 changed files with 2026 additions and 1882 deletions
+25 -1
View File
@@ -18,6 +18,30 @@ import {
getSiteURL
} from "../../../config";
router.get(
"/redirect/google",
authLimiter,
passport.authenticate("google", {
scope: ["profile", "email"],
session: false,
})
);
router.get(
"/google",
passport.authenticate("google", {
failureRedirect: "/login/provider/error",
session: false
}),
async (req, res) => {
if (req.isUserCompleted) {
res.redirect(`${await getSiteURL()}/login/sso?token=${encodeURIComponent(req.providerAuthToken)}`);
} else {
res.redirect(`${await getSiteURL()}/signup/sso?token=${encodeURIComponent(req.providerAuthToken)}`);
}
}
);
router.get(
"/redirect/saml2/:ssoIdentifier",
authLimiter,
@@ -32,7 +56,7 @@ router.post("/saml2/:ssoIdentifier",
failureFlash: true,
session: false
}),
async (req, res) => {
async (req, res) => { // TODO: move this into controller
if (req.isUserCompleted) {
return res.redirect(`${await getSiteURL()}/login/sso?token=${encodeURIComponent(req.providerAuthToken)}`);
}