Nuxt JS中的基本身份验证

时间:2019-04-11 11:28:21

标签: javascript vue.js nuxt.js

我一直在努力尝试使用后端的现有API在nuxt js应用程序中实现基本身份验证。我成功生成了令牌并使用它登录,但是无论何时刷新浏览器,尽管生成的令牌和用户详细信息都保存在本地存储和cookie中,我仍被重定向到登录页面

我的实现基于此示例; https://github.com/nuxt/example-auth0

// middleware/auth.js 

import { getUserFromCookie, getUserFromLocalStorage, getUserTokenFromCookie, getUserTokenFromLocalStorage } from '~/utils/auth'
import { LOGGIN_USER, SET_TOKEN } from '../utils/mutation-types';

export default function ({ isServer, store, req }) {
  // If nuxt generate, pass this middleware
  if (isServer && !req) return;
  const user = isServer ? getUserFromCookie(req) : getUserFromLocalStorage();
  const token = isServer ? getUserTokenFromCookie(req) : getUserTokenFromLocalStorage();
  store.commit(LOGGIN_USER, user);
  store.commit(SET_TOKEN , token);
}

我希望将生成的令牌保存在本地存储中,并且何时或是否到期,应使用刷新令牌来生成新令牌。

1 个答案:

答案 0 :(得分:1)

您使用的是哪个nuxt版本? Context.isServer已过时,根据您使用的nuxt版本,它可以undefined。 在这种情况下,更改为process.server应该可以解决问题。