diff --git a/backend/src/api/auth.ts b/backend/src/api/auth.ts index 543dab0f..1bb663b7 100644 --- a/backend/src/api/auth.ts +++ b/backend/src/api/auth.ts @@ -111,14 +111,29 @@ export function initAuth(router: express.Router) { ); router.get("/auth/login", passport.authenticate("oauth2")); + router.get( + "/auth/new-login", + (req: Request, res: Response) => { + res.cookie("redir", `${env.DASHBOARD_URL}/new/login-callback/`, { httpOnly: true }); + }, + passport.authenticate("oauth2"), + ); router.get( "/auth/oauth-callback", passport.authenticate("oauth2", { failureRedirect: "/", session: false }), (req: Request, res: Response) => { if (req.user && req.user.apiKey) { - res.redirect(`${env.DASHBOARD_URL}/login-callback/?apiKey=${req.user.apiKey}`); + res.redirect( + req.cookies.redir + ? `${req.cookies.redir.toString()}?apiKey=${req.user.apiKey}` + : `${env.DASHBOARD_URL}/login-callback/?apiKey=${req.user.apiKey}`, + ); } else { - res.redirect(`${env.DASHBOARD_URL}/login-callback/?error=noAccess`); + res.redirect( + req.cookies.redir + ? `${req.cookies.redir.toString()}?error=noAccess` + : `${env.DASHBOARD_URL}/login-callback/?error=noAccess`, + ); } }, );