хранение токенов и другой персональной информации
Товарищи доброго времени суток. Хочу сделать авторизацию на сайте:
На сервере:
//... тут коннект в базу проверяем соединение по логину и паролю
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 и другие подобные для понимания почему нужно делать именно так.