@@ -19,13 +19,13 @@ export const Route = createFileRoute('/api/auth/callback/$provider')({
1919 const error = url . searchParams . get ( 'error' )
2020
2121 if ( error ) {
22- console . error ( ' [OAuth Callback] OAuth error received' )
23- return Response . redirect ( new URL ( '/login' , request . url ) , 302 )
22+ console . error ( ` [OAuth Callback] OAuth error received: ${ error } ` )
23+ return Response . redirect ( new URL ( '/login?error=oauth_failed ' , request . url ) , 302 )
2424 }
2525
2626 if ( ! code || ! state ) {
2727 console . error ( '[OAuth Callback] Missing code or state' )
28- return Response . redirect ( new URL ( '/login' , request . url ) , 302 )
28+ return Response . redirect ( new URL ( '/login?error=oauth_failed ' , request . url ) , 302 )
2929 }
3030
3131 // Validate state from HTTPS-only cookie (CSRF protection)
@@ -36,14 +36,14 @@ export const Route = createFileRoute('/api/auth/callback/$provider')({
3636
3737 if ( ! stateCookie ) {
3838 console . error ( '[OAuth Callback] No state cookie found' )
39- return Response . redirect ( new URL ( '/login' , request . url ) , 302 )
39+ return Response . redirect ( new URL ( '/login?error=oauth_failed ' , request . url ) , 302 )
4040 }
4141
4242 const cookieState = decodeURIComponent ( stateCookie . split ( '=' ) . slice ( 1 ) . join ( '=' ) . trim ( ) )
4343
4444 if ( cookieState !== state ) {
4545 console . error ( '[OAuth Callback] State mismatch' )
46- return Response . redirect ( new URL ( '/login' , request . url ) , 302 )
46+ return Response . redirect ( new URL ( '/login?error=oauth_failed ' , request . url ) , 302 )
4747 }
4848
4949 // Clear state cookie (one-time use)
0 commit comments