Пытаюсь сделать редиректы в зависимости от состояния авторизации пользователя. Авторизация везде обязательна.
export default defineNuxtRouteMiddleware( async (to, from) => {
if (!process.client) {
return;
}
const accessToken: string|null = useUserAccessToken();
const userStore = useUserStore();
if (accessToken != null) {
const identity = <TypeUserIdentity>await useQueryApi('/user/identity/index');
userStore.setIdentity(identity);
}
const isGuest: boolean = userStore.isGuest;
if (isGuest) {
if (from.path != '/user/auth/login') {
return navigateTo('/user/auth/login');
}
} else {
if (from.path == '/user/auth/login') {
return navigateTo('/');
} else if (to.path == '/user/auth/logout') {
localStorage.removeItem('auth.accessToken');
userStore.setIdentity(null);
return navigateTo('/');
}
}
});
Отрабатывает 12 раз, после чего выдает ошибку. Редиректа как такового не происходит. Версия 3.0. Что я не так делаю? Возможно получение сущности пользователя не совсем верное т.к. нужно только один раз запрашивать данные.