Вход в систему / выход из системы / промежуточное ПО и т. Д. Сами по себе работают, но я, похоже, не могу контролировать токен.Я пытаюсь сохранить JWT в хранилище Vuex после входа в систему, но токен сохраняется только в cookie и localStorage.Из документации я понимаю, что поддержка аутентификации в Vuex добавляется автоматически.Я не определил tokenRequired
и tokenType
в конфигурации, так как в соответствии с документацией они необходимы для потока на основе файлов cookie (также их добавление ничего не изменило).
nuxt.config.js
modules: [
'@nuxtjs/axios',
'@nuxtjs/auth'
],
axios: {
baseURL: 'https://api.example.com/'
},
router: {
middleware: ['auth']
},
auth: {
strategies: {
local: {
endpoints: {
login: { url: 'login', method: 'post', propertyName: 'token' },
logout: { url: 'logout', method: 'post' },
user: false
}
}
},
redirect: {
login: '/login',
logout: '/',
callback: '/login',
home: '/'
}
},
функция входа в систему
await this.$axios.post('authenticate', {
email: this.email,
password: this.password
}).then(response => {
if (response.success === 'true') {
this.$auth.setUserToken(response.token)
} else {
//alert invalid login
}
}).catch(error => {
//alert server error
});
Теперь, когда я успешно вошел в систему и посмотрел на $ auth. $ State , он возвращает
{ "user": {}, "loggedIn": true, "strategy": "local" }
Я ожидаю, что токен также будет сохранен в $auth
.
Я также посмотрел вопрос с аналогичным названием , но его решение не работаетдля меня, как я использую user: false
.