我想在我的 nuxtjs 应用程序中使用 JWT 身份验证,但它没有刷新令牌。出于测试目的,我将访问令牌过期时间设置为 5 秒,并将令牌刷新时间设置为 30 分钟。
访问令牌在 5 秒后过期,但令牌在 5 秒后未刷新,已注销
我正在使用Django rest 框架,在 nuxt 中我正在使用nuxt auth v5
设置.py
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework_simplejwt.authentication.JWTAuthentication',
),
}
SIMPLE_JWT = {
'AUTH_HEADER_TYPES': ('JWT',),
'ACCESS_TOKEN_LIFETIME': timedelta(seconds=5),
'REFRESH_TOKEN_LIFETIME': timedelta(minutes=30),
}
nuxt.config.js
auth: {
localStorage: false,
strategies: {
local: {
scheme: 'refresh',
token: {
property: 'access',
type: 'JWT',
required: true
},
refreshToken: {
property: 'refresh',
},
user: {
property: false,
autoFetch: true
},
endpoints: {
login: { url: '/jwt/create/', method: 'post',},
refresh: { url: '/jwt/refresh/', method: 'post',},
user: {url: '/users/me/', method: 'get' },
logout: false
},
}
}
}
}
我对 JWT 和 nuxt 不太熟悉。如我错了请纠正我。
我的主要目标是在访问令牌过期时自动刷新令牌。