хранение токенов и другой персональной информации

Товарищи доброго времени суток. Хочу сделать авторизацию на сайте:

На сервере:

//... тут коннект в базу проверяем соединение по логину и паролю

let token = jwt.sign({ id: ..from DataBase}, config.jwtpass, { expiresIn: 86400 });

res.status(200).send({
  token: token,
  user: {
    uid: ..from DataBase,
    name: ..from DataBase,
    is_admin: ..from DataBase
  }
})

На клиенте:

// ... далее записываю в store, localstorage ..
localStorage.setItem('user',JSON.stringify(response.data.user))
localStorage.setItem('token',JSON.stringify(response.data.token))
$axios.defaults.headers.common['Authorization'] = response.data.token

На клиенте использую vuex. Прочитал кучу информации где говорится что не стоит хранить в localstorage токены и др информацию(мне например на клиенте нужно свойство is_admin). Действительно зашел в ls, поменял flag is_admin и прошел по путям админа.. Подскажите как правильнее сделать?


Ответы (1 шт):

Автор решения: Даниил Лебединский

Использовать cookies для AAA-задач. Изучите этот материал - https://scotch.io/bar-talk/why-jwts-suck-as-session-tokens и другие подобные для понимания почему нужно делать именно так.

→ Ссылка