@@ -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(
4248router . 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(
6268router . 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(
8187router . 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(
99105router . 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(
117123router . 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