我目前正在使用Django后端(带有用于JWT令牌认证的Django Restframework和djangorestframework-simplejwt软件包)和Nuxt作为Nuxt auth模块的前端。 不幸的是,登录无法在客户端进行,因为它无法从服务器(后端)的响应中检测到令牌。
这是我在nuxt.config.js中的身份验证部分:
auth: {
strategies: {
local: {
endpoints: {
login: { url: '/api-token-auth/', method: 'post', propertyName: 'token' },
logout: false,
user: { url: '/user/', method: 'post', propertyName: false }
logout: { url: '/api-token-logout', method: 'post' },
},
tokenRequired: true,
tokenType: 'JWT',
}
}
},
我的登录视图成功返回:
{
"refresh":"eyJ0eXAiOiJKV1QiLCJhbhUjOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoicmVmcmVzaCIsImV4cCI6MTU2OTc5MjM2NSwianRpIjoiZGZmYjAzNTAUjkwNGY5Zjk0ODdkYTYzMTQ2YmIxYWUiLCJ1c2VyX2lkIjoiZDMyOGMwYTAtMDU3YS00NDRkLWJlZjUtMTgwOGMyYmU0MzcwIn0.V4AHLHdKCAViVM-_vnOA3thOxgluJo0rP6S_qs8On2I",
"access":"eyJ0eXAiOiJKV1jULHUhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNTY5NzA2MjY1LCJqdGkiOiJjZDRhZjdjYHzjZTI0OTlmOTlhMTAzNjdkYTMzZWQxNSIsInVzZXJfaWQiOiJkMzI4YzBhMC0wNTdhLTQ0NGQtYmVmNS0xODA4YzJiZTQzNzAifQ.2I2LV3Lzu2WSFjA2OT_L4mXr5Qp0hb2RZF4mzuIYKP0"
}
我已经尝试将propertyName: 'token'
更改为propertyName: 'access'
,但也没有成功。但这与该设置有关,因为当我更改为其他JWT包时,该包仅返回以下内容(在登录视图中):
{
"token":"eyJ0eXAiOiJKV1jULHUhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNTY5NzA2MjY1LCJqdGkiOiJjZDRhZjdjYHzjZTI0OTlmOTlhMTAzNjdkYTMzZWQxNSIsInVzZXJfaWQiOiJkMzI4YzBhMC0wNTdhLTQ0NGQtYmVmNS0xODA4YzJiZTQzNzAifQ.2I2LV3Lzu2WSFjA2OT_L4mXr5Qp0hb2RZF4mzuIYKP0"
}
然后就可以了:/
答案 0 :(得分:1)
Nuxt Auth尚不支持刷新令牌。 当前有针对该请求的打开请求
(以及原始功能请求发布https://github.com/nuxt-community/auth-module/pull/361)