javascript - 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);
}
我希望生成的令牌保存在本地存储中,并且何时或如果过期,则应使用刷新令牌来生成新令牌。
解决方案
你用的是什么nuxt版本?Context.isServer
已被弃用,可能undefined
取决于您使用的 nuxt 版本。如果是这种情况,更改为process.server
应该可以解决问题。
推荐阅读
- c# - XAML 中的静态资源和动态资源
- sas - 创建一个按 ID 变量的第一个日期递增的新 SAS 变量
- visual-studio - 关闭程序集签名和其他 Visual Studio 全局默认值
- angular - 定义了函数的@input 的默认值
- ffmpeg - 场景检测和连接使我的视频更长(FFMPEG)
- java - 将数据库模型类与其验证相关联的模式
- android - 在 apk 中包含具有不同前缀的文件
- typescript - 在内部匿名函数中引用外部命名空间函数
- ios - 定义 Bundle.main.url 以使用 iOS9 及更高版本 Swift 4 的 Core Data
- php - 我可以只检测文件开头和结尾的换行符吗?此函数验证文件中的所有换行符?