const whitelistedParams = ['flow', 'error'] export default defineNuxtRouteMiddleware(async (_to, from) => { const config = useRuntimeConfig() const auth = await useAuth() if (auth.value.user) return const fullPath = from.fullPath const url = new URL(fullPath, config.public.apiBaseUrl) const extractedParams = Object.create(null) as Record for (const param of whitelistedParams) { const val = url.searchParams.get(param) if (val != null) { extractedParams[param] = val url.searchParams.delete(param) } } return await navigateTo( { path: '/auth/sign-in', query: { redirect: `${url.pathname}${url.search}`, ...extractedParams, }, }, { replace: true }, ) })