未存储Vue Nuxt Auth登录令牌

时间:2019-09-28 21:41:10

标签: django vue.js django-rest-framework vuex nuxt.js

我目前正在使用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"
}

然后就可以了:/

1 个答案:

答案 0 :(得分:1)

Nuxt Auth尚不支持刷新令牌。 当前有针对该请求的打开请求

this

(以及原始功能请求发布https://github.com/nuxt-community/auth-module/pull/361