SPA, оффлайн онлайн, держите пользователя авторизованным

У меня есть одностраничное приложение, в котором я хочу, чтобы пользователи могли оставаться в системе после закрытия браузера, и снова начинает использовать браузер в автономном режиме или в сети. Метод, который я сейчас использую, включает в себя localStorage, где я храню метку времени, которая указывает, как долго пользователь считается вошедшим в систему. Проблема в том, что это значение можно легко изменить, в результате чего пользователям не нужно входить в систему с все, чтобы использовать приложение. Есть ли рекомендуемое или проверенное рабочее решение для достижения этой цели?

1 ответ

JWT - JSON Web Tokens - сделает работу

Каждый жетон состоит из 3 частей

  • заголовок (подтверждающий, что это действительно JWT)
  • полезная нагрузка (задается с использованием идентификатора пользователя, прав доступа, даты и времени истечения срока действия
  • подпись (чтобы никто не мог связываться с ней)

В полезной нагрузке обратите особое внимание на exp элемент, который позволяет вам установить точное время истечения срока действия логина.

Таким образом, вы можете безопасно сохранить их в локальном хранилище.

Несколько источников для получения дополнительной информации:

https://jwt.io/

https://scotch.io/tutorials/the-anatomy-of-a-json-web-token

Другие вопросы по тегам