В настоящее время я использую бэкэнд Django (с Django Restframework и пакетом djangorestframework-simplejwt для аутентификации токена JWT) и Nuxt в качестве интерфейса с модулем аутентификации Nuxt.К сожалению, логин не работает на стороне клиента, потому что он не обнаруживает токен по ответу от сервера (бэкэнд).
Вот моя часть аутентификации в 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"
}
Тогда он работает просто отлично: /