Как сохранить авторизацию на Vue.js?

Рейтинг: 0Ответов: 1Опубликовано: 28.03.2023

Разрабатываю приложение на Vue.js 3. Делаю запрос к серверу который возвращает id пользователя, логин и токен.

Мне нужно сохранить все эти данные для использования внутри приложения.

Я использую vuex для того чтобы сохранить эти данные.

Сделал такой стейт:

state: {
    user: {
        auth: false,
        token: null,
        login: null,
        id: null
    }
}

Создал мутацию:

mutations: {
    auth_success(token, login, id) {
        this.state.user.auth = true
        this.state.token = token
        this.state.login = login
        this.state.id = id
    }
}

И после того как получаю ответ на запрос я вызываю эту мутацию:

commit('auth_success', post.token, post.login, post.id)

Вопрос: до какого момента vuex хранит в стейте информацию? до обновления страницы?

как сделать чтобы после авторизации в стейте всегда была инфа о юзере?

Ответы

▲ 0

Vuex хранит только до обновления страницы. Чтобы хранилось вечно, используй localStorage.setItem, а чтобы загрузить -- куда-нибудь в App.vue JSON.parse(localStorage.getItem(...), ...)