Как установить пользователя в nuxt auth после обновления?
Вот моя конфигурация аутентификации:
auth: {
strategies: {
local: {
scheme: 'refresh',
token: {
property: 'jwtToken',
},
refreshToken: {
property: 'refreshToken',
data: 'refreshToken',
},
user: false,
endpoints: {
login: { url: '/api/account/authenticate', method: 'post' },
logout: { url: '/api/account/logout', method: 'post' },
refresh: { url: '/api/account/refresh-token', method: 'post' },
user: false,
},
},
},
},
Вот мои действия в магазине для авторизации:
async login({ commit }, data) {
try {
const {
data: { jwtToken, refreshToken },
} = await this.$auth.loginWith('local', { data })
await this.$auth.setUserToken(jwtToken, refreshToken)
const decodedJwt = jwtDecode(jwtToken)
this.$auth.setUser({ userId: decodedJwt.sub })
await this.$router.push('/dashboard')
} catch (e) {
this.$n?.myError()
}
},
async logout() {
const refreshToken = localStorage.getItem('auth._refresh_token.local')
await this.$auth.logout({ data: { refreshToken } })
},
Конечно, после обновления свойство пользователя внутри $ auth удаляется. Я хотел бы снова установить его при обновлении страницы. Как я могу реализовать это без добавления нового API для пользователя? Я пробовал создавать для этого промежуточные программы, но они работают для всех маршрутов вместо указанных. Мне просто нужно простое решение, например, получить токен jwt из localStorage и получить от него userId.