Skip to content

Commit fd86567

Browse files
Fixed Passport handles expected errors as exceptions
1 parent a9e518c commit fd86567

File tree

1 file changed

+6
-12
lines changed

1 file changed

+6
-12
lines changed

server/config/passport.js

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -123,12 +123,10 @@ passport.use(
123123
User.findOne({ github: profile.id }, (findByGithubErr, existingUser) => {
124124
if (existingUser) {
125125
if (req.user && req.user.email !== existingUser.email) {
126-
done(
127-
new Error('GitHub account is already linked to another account.')
128-
);
126+
done(null, false, { msg: 'GitHub account is already linked to another account.' });
129127
return;
130128
} else if (existingUser.banned) {
131-
done(new Error(accountSuspensionMessage));
129+
done(null, false, { msg: accountSuspensionMessage });
132130
return;
133131
}
134132
done(null, existingUser);
@@ -159,7 +157,7 @@ passport.use(
159157
[existingEmailUser] = existingEmailUsers;
160158
}
161159
if (existingEmailUser.banned) {
162-
done(new Error(accountSuspensionMessage));
160+
done(null, false, { msg: accountSuspensionMessage });
163161
return;
164162
}
165163
existingEmailUser.email = existingEmailUser.email || primaryEmail;
@@ -218,14 +216,10 @@ passport.use(
218216
(findByGoogleErr, existingUser) => {
219217
if (existingUser) {
220218
if (req.user && req.user.email !== existingUser.email) {
221-
done(
222-
new Error(
223-
'Google account is already linked to another account.'
224-
)
225-
);
219+
done(null, false, { msg: 'Google account is already linked to another account.' });
226220
return;
227221
} else if (existingUser.banned) {
228-
done(new Error(accountSuspensionMessage));
222+
done(null, false, { msg: accountSuspensionMessage });
229223
return;
230224
}
231225
done(null, existingUser);
@@ -256,7 +250,7 @@ passport.use(
256250
// then, append a random friendly word?
257251
if (existingEmailUser) {
258252
if (existingEmailUser.banned) {
259-
done(new Error(accountSuspensionMessage));
253+
done(null, false, { msg: accountSuspensionMessage });
260254
return;
261255
}
262256
existingEmailUser.email =

0 commit comments

Comments
 (0)