From 20dad1bd3f80b4772af3733b35aae266d70444d8 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Mon, 25 Jul 2022 22:58:45 -0700 Subject: [PATCH] Use form to submit so we redirect to sso endpoint correctly --- packages/web/pages/confirm-email/[token].tsx | 34 +++++++------------- 1 file changed, 12 insertions(+), 22 deletions(-) diff --git a/packages/web/pages/confirm-email/[token].tsx b/packages/web/pages/confirm-email/[token].tsx index 235d3b199..5a0d9754e 100644 --- a/packages/web/pages/confirm-email/[token].tsx +++ b/packages/web/pages/confirm-email/[token].tsx @@ -1,4 +1,4 @@ -import { useEffect, useState } from 'react' +import { useEffect, useRef, useState } from 'react' import { useRouter } from 'next/router' import { Toaster } from 'react-hot-toast' @@ -12,36 +12,19 @@ import { fetchEndpoint } from '../../lib/appConfig' import { LoadingView } from '../../components/patterns/LoadingView' export default function ConfirmEmail(): JSX.Element { + const authForm = useRef(null) const router = useRouter() const [errorMessage, setErrorMessage] = useState(undefined) applyStoredTheme(false) useEffect(() => { - if (!router || !router.isReady) { + if (!router || !router.isReady || !authForm.current) { return } - const token = router.query.token - fetch(`${fetchEndpoint}/auth/confirm-email`, { - method: 'POST', - redirect: 'follow', - mode: 'cors', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ token }), - }).then((response) => { - if (response.status === 200) { - window.localStorage.setItem('authVerified', 'true') - window.location.href = '/' - } else { - setErrorMessage('Error confirming email') - } - }) - - }, [router]) + authForm.current?.submit() + }, [router, authForm]) return ( @@ -50,6 +33,13 @@ export default function ConfirmEmail(): JSX.Element { top: '5rem', }} /> +
+ +
{errorMessage ? ( {errorMessage}