UNPKG

@xsprtd/nuxt-api

Version:

Nuxt API Authentication and Http Client

23 lines (22 loc) 757 B
import { useApiOptions } from "../composables/useApiOptions.js"; import { useAuth } from "../composables/useAuth.js"; import { defineNuxtRouteMiddleware, navigateTo, createError } from "#app"; export default defineNuxtRouteMiddleware(async (to) => { const { isLoggedIn } = useAuth(); const { redirect } = useApiOptions(); if (!isLoggedIn.value) { return; } const { intendedEnabled, postLogin } = redirect; if (intendedEnabled) { const currentPath = to.path; const requestedRoute = to.query.redirect; if (requestedRoute && requestedRoute !== currentPath) { return navigateTo(requestedRoute); } } if (postLogin) { return navigateTo(postLogin, { replace: true }); } throw createError({ statusCode: 403 }); });