UNPKG

@xsprtd/nuxt-api

Version:

Nuxt API Authentication and Http Client

20 lines (19 loc) 685 B
import { useApiOptions } from "../composables/useApiOptions.js"; import { useAuth } from "../composables/useAuth.js"; import { defineNuxtRouteMiddleware, navigateTo, createError } from "#app"; export default defineNuxtRouteMiddleware((to) => { const { isLoggedIn } = useAuth(); if (isLoggedIn.value) { return; } const options = useApiOptions(); const loginPath = options.redirect.login; if (!isLoggedIn.value && loginPath) { const redirect = { path: loginPath }; if (options.redirect.intendedEnabled) { redirect.query = { redirect: to.fullPath }; } return navigateTo(redirect, { replace: true }); } throw createError({ statusCode: 403 }); });