Как читать магазин в nuxt middleware - PullRequest
0 голосов
/ 20 апреля 2020

Я использую nuxt2 и vuex-persistedstate для сохранения состояния и собираюсь запретить доступ к одному URL-адресу без входа в систему. Поэтому я использовал промежуточное программное обеспечение, чтобы проверить, вошел ли он в систему или нет.

// middleware/auth.js

import jwt from 'jsonwebtoken'

export default function({ store, route, redirect }) {
  if (route.path === '/protectedurl') {
    if (!store.state.auth.token) {
      redirect('/protectedurl/login')
    } else {
      const decoded = jwt.verify(store.state.auth.token, process.env.privateKey)
      if (
        decoded.isLoggedIn !== true ||
        Math.floor(Date.now() / 1000) > decoded.exp
      ) {
        redirect('/protectedurl/login')
      }
    }
  }
}

Он отлично работает, когда я перехожу к защищенному URL-адресу с другой страницы, используя <nuxt-link> Но, когда я делаю refre sh, он может не читайте магазин с постоянным значением. И я могу прочитать правильные данные в функции жизненного цикла updated() компонента.

Я думаю, это потому, что промежуточное ПО проверяется перед плагинами, поэтому промежуточное ПО сначала читает ноль.

Может ли кто-нибудь помочь мне справиться с этим?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...