Nuxt / Vue - как запустить код до рендеринга страницы?

Я создаю приложение Nuxt (SSR), которое использует Django на бэкэнде, для аутентификации пользователей я использую стандартную аутентификацию сеанса Django.

Я полностью застрял в той части, где мне нужно перенаправить пользователя на страницу входа, когда пользователь отображается. Итак, что мне нужно сделать, это отправить запрос на мой бэкэнд Django, который вернет, аутентифицирован ли пользователь или нет. Есть ли способ выполнить код до отображения HTML на моей странице?

Что я пробовал:

Промежуточное ПО: Я пробовал это с промежуточным программным обеспечением, но по какой-то причине промежуточное программное обеспечение Nuxt не работает с Axios. Когда я отправляю запрос от промежуточного программного обеспечения, он не отправляет никаких файлов cookie вместе с запросом, поэтому я всегда буду выходить из системы (даже когда я вошел в систему). Это проблема с Nuxt, а не с серверной частью, потому что, если я попробую тот же запрос с простой страницы, он будет работать без каких-либо проблем:

export default async function (context) {
  axios.defaults.withCredentials = true;
  return axios({
    method: 'get',
    url: 'http://127.0.0.1:8000/checkAuth',
    withCredentials: true,
  }).then(function (response) {
    //Check if user is authenticated - response is always False
  }).catch(function (error) {
    //Handle error
  });
}

Вы используете SSR (универсальный) или SPA?

S.Ramjit 08.04.2021 21:15

Я использую SSR, извините, что не включил его, сейчас редактирую

JayK23 08.04.2021 21:56

Я думаю, поскольку промежуточное ПО выполняется на стороне сервера, у вас нет доступа к файлам cookie, которые существуют на клиенте.

S.Ramjit 08.04.2021 21:58

Действительно, после просмотра Github это кажется проблемой. Если мое приложение - SPA, будет ли промежуточное ПО выполняться на стороне клиента? И знаете ли вы, как это сделать без промежуточного программного обеспечения?

JayK23 08.04.2021 23:03
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
4
28
0

Другие вопросы по теме