@adizh

Как сделать protected routes в Nuxt3?

Как сделать защищенные роуты в nuxt? С помощью auth middleware не получается:

middleware/auth.global.ts:

export default defineNuxtRouteMiddleware((to, from) => {
  const isLoggedIn = process.client
    ? localStorage.getItem("isLoggedIn") === "true"
    : "false";

  if (to.path !== from.path) {
    return;
  }

  if (!isLoggedIn && to.path !== "/login") {
    return navigateTo("/login");
  } else if (to.path !== "/" && isLoggedIn) {
    return navigateTo("/");
  }
});

По идее, если не isLoggedIn=> login, иначе если isLoggedIn и роут равен /login => /. Тут проблема в том, что будучи не isLoggedIn можно переходить по другим роутам, одним словом это логика работает только для /login и /, нужно написать проверку для всех роутов по отдельности? Чтоб, если isLoggedIn=false => нужно перенаправить на /login и остальные роуты тоже должны перенаправить, а иначе сделать /login disabled.
  • Вопрос задан
  • 65 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы