Обычная практика - хранить объект user
в локальном хранилище и иметь другой ключ для токена (или вы можете встроить токен в объект пользователя).
Нет необходимости в authenticated
boolean, вы должны проверить, существует ли пользователь в локальном хранилище, и если он существует, то ваш пользователь аутентифицирован.
в вашей функции logout
makeобязательно удалите пользовательский ключ из вашего локального хранилища, поэтому приведенная выше проверка вернет false.
function isAuthenticated() {
return !!localstorage.getItem('user');
}
function login(credentials) {
fetch(....)
.then(res => res.json())
.then(({user, token}) => {
localstorage.setItem('user', {...user, token});
})
}
function logout() {
localstorage.removeItem('user');
}