我一直在努力尝试使用后端的现有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);
}
我希望将生成的令牌保存在本地存储中,并且何时或是否到期,应使用刷新令牌来生成新令牌。
答案 0 :(得分:1)
您使用的是哪个nuxt版本? Context.isServer
已过时,根据您使用的nuxt版本,它可以undefined
。
在这种情况下,更改为process.server
应该可以解决问题。