handled error cases for external auth login

This commit is contained in:
Sheen Capadngan
2023-05-18 00:39:20 +08:00
parent 4b2e91da74
commit 6ca3b8ba61
4 changed files with 21 additions and 13 deletions
+11 -11
View File
@@ -5,18 +5,18 @@ import { oauthController } from '../../controllers/v1';
import { authLimiter } from '../../helpers/rateLimiter'; import { authLimiter } from '../../helpers/rateLimiter';
router.get( router.get(
'/redirect/google', '/redirect/google',
authLimiter, authLimiter,
passport.authenticate('google', { passport.authenticate('google', {
scope: ['profile', 'email'], scope: ['profile', 'email'],
session: false, session: false,
}), }),
) )
router.get( router.get(
'/callback/google', '/callback/google',
passport.authenticate('google', { failureRedirect: '/error', session: false }), passport.authenticate('google', { failureRedirect: '/login/provider/error', session: false }),
oauthController.handleAuthProviderCallback, oauthController.handleAuthProviderCallback,
) )
export default router; export default router;
+1 -1
View File
@@ -106,7 +106,7 @@ const initializePassport = async () => {
req.providerAuthToken = providerAuthToken; req.providerAuthToken = providerAuthToken;
cb(null, profile); cb(null, profile);
} catch (err) { } catch (err) {
cb(err); cb(null, false);
} }
})); }));
} }
+2 -1
View File
@@ -17,7 +17,8 @@ export const publicPaths = [
`/subprocessors`, `/subprocessors`,
`/verify-email`, `/verify-email`,
`/password-reset`, `/password-reset`,
`/login/provider/success` `/login/provider/success`,
`/login/provider/error`
]; ];
export const languageMap = { export const languageMap = {
@@ -0,0 +1,7 @@
export default function LoginProviderError() {
return (
<div className="bg-gradient-to-tr from-bunker-500 to-bunker-800 h-screen flex flex-col justify-center pb-28 px-6 items-center">
<span className="text-white text-xl" >Oops! An error has occured.</span>
</div>
)
}