diff --git a/packages/features/auth/src/components/multi-factor-challenge-container.tsx b/packages/features/auth/src/components/multi-factor-challenge-container.tsx index fb6f930..17f30f4 100644 --- a/packages/features/auth/src/components/multi-factor-challenge-container.tsx +++ b/packages/features/auth/src/components/multi-factor-challenge-container.tsx @@ -47,7 +47,7 @@ export function MultiFactorChallengeContainer({ const verifyMFAChallenge = useVerifyMFAChallenge({ onSuccess: () => { - router.replace('/'); + router.replace(paths.redirectPath); }, }); diff --git a/packages/features/medusa-storefront/src/middleware.ts b/packages/features/medusa-storefront/src/middleware.ts index 21290da..0d59700 100644 --- a/packages/features/medusa-storefront/src/middleware.ts +++ b/packages/features/medusa-storefront/src/middleware.ts @@ -114,12 +114,23 @@ export async function middleware(request: NextRequest) { let cacheId = cacheIdCookie?.value || crypto.randomUUID(); - const regionMap = await getRegionMap(cacheId); + let regionMap; + try { + regionMap = await getRegionMap(cacheId); + } catch (error) { + console.error("Error fetching regions", error); + return { + redirect: { + destination: '/auth/sign-in', + permanent: false, + }, + }; + } const countryCode = regionMap && (await getCountryCode(request, regionMap)); const urlHasCountryCode = - countryCode && request.nextUrl.pathname.split("/")[1].includes(countryCode); + countryCode && request.nextUrl.pathname.split("/")[1]?.includes(countryCode); // if one of the country codes is in the url and the cache id is set, return next if (urlHasCountryCode && cacheIdCookie) {