Skip to content

Commit d048a10

Browse files
authored
📜 refactor: Log Error Messages when OAuth Fails (danny-avila#5337)
1 parent e6670cd commit d048a10

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

api/server/routes/oauth.js

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,12 @@ const oauthHandler = async (req, res) => {
2828
}
2929
};
3030

31+
router.get('/error', (req, res) => {
32+
// A single error message is pushed by passport when authentication fails.
33+
logger.error('Error in OAuth authentication:', { message: req.session.messages.pop() });
34+
res.redirect(`${domains.client}/login`);
35+
});
36+
3137
/**
3238
* Google Routes
3339
*/
@@ -42,7 +48,7 @@ router.get(
4248
router.get(
4349
'/google/callback',
4450
passport.authenticate('google', {
45-
failureRedirect: `${domains.client}/login`,
51+
failureRedirect: `${domains.client}/oauth/error`,
4652
failureMessage: true,
4753
session: false,
4854
scope: ['openid', 'profile', 'email'],
@@ -62,7 +68,7 @@ router.get(
6268
router.get(
6369
'/facebook/callback',
6470
passport.authenticate('facebook', {
65-
failureRedirect: `${domains.client}/login`,
71+
failureRedirect: `${domains.client}/oauth/error`,
6672
failureMessage: true,
6773
session: false,
6874
scope: ['public_profile'],
@@ -81,7 +87,7 @@ router.get(
8187
router.get(
8288
'/openid/callback',
8389
passport.authenticate('openid', {
84-
failureRedirect: `${domains.client}/login`,
90+
failureRedirect: `${domains.client}/oauth/error`,
8591
failureMessage: true,
8692
session: false,
8793
}),
@@ -99,7 +105,7 @@ router.get(
99105
router.get(
100106
'/github/callback',
101107
passport.authenticate('github', {
102-
failureRedirect: `${domains.client}/login`,
108+
failureRedirect: `${domains.client}/oauth/error`,
103109
failureMessage: true,
104110
session: false,
105111
scope: ['user:email', 'read:user'],
@@ -117,7 +123,7 @@ router.get(
117123
router.get(
118124
'/discord/callback',
119125
passport.authenticate('discord', {
120-
failureRedirect: `${domains.client}/login`,
126+
failureRedirect: `${domains.client}/oauth/error`,
121127
failureMessage: true,
122128
session: false,
123129
scope: ['identify', 'email'],

0 commit comments

Comments
 (0)