From 930dc0867dc2e0206b2d9c8462e6898db5459c32 Mon Sep 17 00:00:00 2001 From: Gib Date: Fri, 6 Jun 2025 16:35:28 -0500 Subject: [PATCH] Sign in with microsoft now works but sign out when signed in via microsoft does not --- public/icons/apple.png | Bin 122009 -> 0 bytes public/icons/microsoft.png | Bin 3858 -> 0 bytes src/app/(auth-pages)/auth/callback/route.ts | 4 - .../(auth-pages)/auth/callback/route.ts.bak | 77 ------------------ src/app/(auth-pages)/auth/success/page.tsx | 39 +++++++++ src/lib/actions/auth.ts | 4 + 6 files changed, 43 insertions(+), 81 deletions(-) delete mode 100644 public/icons/apple.png delete mode 100644 public/icons/microsoft.png delete mode 100644 src/app/(auth-pages)/auth/callback/route.ts.bak create mode 100644 src/app/(auth-pages)/auth/success/page.tsx diff --git a/public/icons/apple.png b/public/icons/apple.png deleted file mode 100644 index eea2e3b17b7ea0e67c18a2e708c2baeda3f88e9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122009 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

1gmoogOe8yQT3 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 z zpUrSX1z1g|!DO0t9_@r|MHi#)@OU&fV8%zQm1O`wU$h>*AE@>-igVeVuPyT$-y|9D z82))4)BC9EOYo5()OguG0107WV$$9XgdN?U;}CQM$${iabqI{@n0pbXl5fbs(=;tp zp;ob+rcALo=+3f=W`$Vqq0!?@OUMr6BK=Z;S#4a0Y4xhB zAL)I0`u02p!-GJ(1NXThp5uaPrz0X`I0$CAX`%syvbt80;6Z;R3iCYomX-g#Lb|9I zubOIk>!+sE`%1O$Tn*%E*-duMFXi?NK7Xyq$3n(GOGO4E2!sCC!}{L!u%T}cYl#cs z5Xc)y-@K85?+mK%VrvbSZ`S!V?F<<2db-!01B!-ucSyw7_11qr{U7s}#xmGFw!hx~ z5Zq}Ib(MG?hXJafZ~T>=e}ZTUm{j8Y9+Zo`Tk*sHD<4$FP7FFP#wB2sp8GR&zd3#T zL&XJMp?|0CUmyNP^~`>g^ZwgtAQ8$3rb4jZ3DkVJ9LzR}5Gm8l=(7E5vWZf#KVt&g z`%FAVkPb1v00JReEoM)1<%RuTi9vh)AB)R4N_4hIFx#mF?O{_&oww?-KG9_L$Yt>x zW_a81J4H}PCE;n!p*r67a8h&Y?sG&Mu`k7-eF)C$#Ebpc%5z95r4cEl!KU|VtC7zD{;S}4 zIWCXBeHb0|x0N6Xm3|-FjL%37Z0O8ac_&1DlM1r5<}*K>-K2QPQw?5mCV;GiN?{yl z+G$#G9+0shWR;laNf)i#@t0=mzk|g;R5lXYj5K62!!P$k9^>8FiW~mina@287Lo-PwQ?u{h)ufAi-D}c9(I#bM%tu9WH|D=cOU00yeG;qG1AhzKa?O z!!yM7zN(>W9h1Y4#)~(krqc>GK0IAEz2-WcuFJ)UO|b{)?Z^E59}@IZ$E7i*?-V6d zqqsiogU%no=F1-135qz~t0^8EEi;{r$JrPhRsh_<4=DP(0*5{qH_U2HyuB1As%UWL*hj|7ph9PpIc|JwU|Z95n(sVXcQpY>(>q-U zZ=~g36ZZR-i4e#iSSgO?XwJL%m3#_1Q}sH5EYjyV@`CZz+y3_-0xeS*dAeL7wH(yd zf~e!|w7XXI<1-jO1;Qjv13v6cRG-5Q>{2KY{q$^ z*Z+i3$H#7+-os9-qg4+0T&dv~a{zu_&vD|dg6AM>v)1T4NzjI#e_Z!%!~33rv;ff< zte!0T{tt9u8&3R@;6ZCt;NKHLNt&lUcxF{=@g&G|ZigxuM2!rq3g!m7_}ycAofEQ@zO2g;3~mppFH1* zkl~dohcdtdvE&!8tsj65S3kGqaD(zZh+}o_H*5N5PNDpN;)d4sKW>5}_PyK02$sM% z%0D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 z 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 SZSH1h1KeJ#J$c^}e)xY8pyYS} diff --git a/public/icons/microsoft.png b/public/icons/microsoft.png deleted file mode 100644 index 2ee14f05929d1176fb361c2c5184f813ab9df55c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3858 zcmeAS@N?(olHy`uVBq!ia0y~yUjEjsPi^bVpxD28NCO+=MvNNOB z0|gnAyxm=RzimnU3gobtc>21szhD#N5!cV&*~boa{sm7L$B>F!Z!a10HaG|{9Ng?s z;Lyoq(;%i2a3LV6aUK_UhZDm|)$6r}+KI-6tF8!UK3*EsDAK^d#Ib;ZMZkf9RRPG> zU|AhrF2jd$0P{*cCeZ40?wj%+>I}1L$qO} zV|W4|tY%}2I;a@d2uDh}gRew_BtzWpR%r0REeR>Mu_tCwh#>hKYsy6~=dmXudYe5F zy$%7oTbJog$g1;Oe3Q~9zQ7;aBX?G(@e*U#`&hi79z}_B%YKdz^NlIc#s#S7PDv)9@GB7gHH89gP yG72#?vNAHZGBMXSFt9Q(m^efC9EyhA{FKbJO57SA9GzMOvcl8V&t;ucLK6UFpZ)g$ diff --git a/src/app/(auth-pages)/auth/callback/route.ts b/src/app/(auth-pages)/auth/callback/route.ts index a2a9cec..8d1d901 100644 --- a/src/app/(auth-pages)/auth/callback/route.ts +++ b/src/app/(auth-pages)/auth/callback/route.ts @@ -1,4 +1,3 @@ -// src/app/(auth-pages)/auth/callback/route.ts 'use server'; import 'server-only'; import { createServerClient } from '@/utils/supabase'; @@ -12,10 +11,8 @@ export const GET = async (request: NextRequest) => { const token_hash = searchParams.get('token'); const type = searchParams.get('type') as EmailOtpType | null; const redirectTo = searchParams.get('redirect_to') ?? '/'; - const supabase = await createServerClient(); - // Handle OAuth callback (Microsoft, Apple, etc.) if (code) { const { error } = await supabase.auth.exchangeCodeForSession(code); if (error) { @@ -25,7 +22,6 @@ export const GET = async (request: NextRequest) => { return redirect(redirectTo); } - // Handle email OTP (existing logic) if (token_hash && type) { const { error } = await supabase.auth.verifyOtp({ type, diff --git a/src/app/(auth-pages)/auth/callback/route.ts.bak b/src/app/(auth-pages)/auth/callback/route.ts.bak deleted file mode 100644 index 812d617..0000000 --- a/src/app/(auth-pages)/auth/callback/route.ts.bak +++ /dev/null @@ -1,77 +0,0 @@ -'use server'; - -import 'server-only'; -import { createServerClient } from '@/utils/supabase'; -import { type EmailOtpType } from '@supabase/supabase-js'; -import { type NextRequest, NextResponse } from 'next/server'; - -export const GET = async (request: NextRequest) => { - const { searchParams, origin } = new URL(request.url); - const code = searchParams.get('code'); - const token = searchParams.get('token'); - const type = searchParams.get('type') as EmailOtpType | null; - const redirectTo = searchParams.get('redirect_to')?.toString(); - - const supabase = await createServerClient(); - - if (token && type) { - try { - if (type === 'signup') { - // Confirm email signup - const { error } = await supabase.auth.verifyOtp({ - token_hash: token, - type: 'signup', - }); - - if (error) { - console.error('Email confirmation error:', error); - return NextResponse.redirect(`${origin}/sign-in?error=Invalid or expired confirmation link`); - } - } else if (type === 'recovery') { - // Handle password recovery - const { error } = await supabase.auth.verifyOtp({ - token_hash: token, - type: 'recovery', - }); - - if (error) { - console.error('Password recovery error:', error); - return NextResponse.redirect(`${origin}/sign-in?error=Invalid or expired reset link`); - } else { - return NextResponse.redirect(`${origin}/reset-password`); - } - } else if (type === 'email_change') { - // Handle email change - const { error } = await supabase.auth.verifyOtp({ - token_hash: token, - type: 'email_change', - }); - - if (error) { - console.error('Email change error:', error); - return NextResponse.redirect(`${origin}/profile?error=Invalid or expired email change link`); - } - } - } catch (error) { - console.error('Verification error:', error); - return NextResponse.redirect(`${origin}/sign-in?error=Verification failed`); - } - } - - // Handle code-based flow (OAuth, etc.) - if (code) { - await supabase.auth.exchangeCodeForSession(code); - } - - // Handle redirect - if (redirectTo) { - try { - new URL(redirectTo); - return NextResponse.redirect(redirectTo); - } catch { - return NextResponse.redirect(`${origin}${redirectTo}`); - } - } - - return NextResponse.redirect(origin); -} diff --git a/src/app/(auth-pages)/auth/success/page.tsx b/src/app/(auth-pages)/auth/success/page.tsx new file mode 100644 index 0000000..d41f474 --- /dev/null +++ b/src/app/(auth-pages)/auth/success/page.tsx @@ -0,0 +1,39 @@ +'use client'; + +import { useAuth } from '@/components/context/auth'; +import { useRouter } from 'next/navigation'; +import { useEffect } from 'react'; +import { Loader2 } from 'lucide-react'; + +const AuthSuccessPage = () => { + const { refreshUserData, isAuthenticated } = useAuth(); + const router = useRouter(); + + useEffect(() => { + const handleAuthSuccess = async () => { + // Refresh the auth context to pick up the new session + await refreshUserData(); + + // Small delay to ensure state is updated + setTimeout(() => { + router.push('/'); + }, 100); + }; + + handleAuthSuccess().catch((error) => { + console.error(`Error: ${error instanceof Error ? error.message : error}`); + }); + }, [refreshUserData, router]); + + // Show loading while processing + return ( +

+
+ +

Completing sign in...

+
+
+ ); +}; + +export default AuthSuccessPage; diff --git a/src/lib/actions/auth.ts b/src/lib/actions/auth.ts index 69858b7..a605643 100644 --- a/src/lib/actions/auth.ts +++ b/src/lib/actions/auth.ts @@ -60,10 +60,12 @@ export const signIn = async (formData: FormData): Promise> => { export const signInWithMicrosoft = async (): Promise> => { const supabase = await createServerClient(); + const origin = (await headers()).get('origin'); const { data, error } = await supabase.auth.signInWithOAuth({ provider: 'azure', options: { scopes: 'openid, profile email offline_access', + redirectTo: `${origin}/auth/callback?redirect_to=/auth/success`, }, }); if (error) return { success: false, error: error.message }; @@ -72,10 +74,12 @@ export const signInWithMicrosoft = async (): Promise> => { export const signInWithApple = async (): Promise> => { const supabase = await createServerClient(); + const origin = process.env.BASE_URL!; const { data, error } = await supabase.auth.signInWithOAuth({ provider: 'apple', options: { scopes: 'openid, profile email offline_access', + redirectTo: `${origin}/auth/callback?redirect_to=/auth/success`, }, }); if (error) return { success: false, error: error.message };