Публикации - Аутентифиация пользователей в Node.js с использованием JWT и Laravel

Возможные решения

Как в node.js получить авторизацию  пользователя из Laravel?

Один из вариантов, который, который, возможно, является самым очевидным, - это взять идентификатор сеанса пользователя из файла cookie. По нему сделать запрос в базу данных, и тогда в node.js мы сможем в проанализировать ответ запроса и выяснить, аутентифицирован ли пользователь. И затем - получить пользовательские данные.

Другие, не очевидные варианты, - сохранение сеансов в Redis, сохранение токенов в cookie и т.д. Чтение сеансов или токенов позволит пользователю снова войти в систему с именем пользователя и паролем в приложении чата.

Но почему бы не использовать проверенный отраслевой стандарт: веб-токены JSON (JWT)?

Это позволит нам:

  • генерировать токены внутри Laravel;
  • представлять их браузеру через API;
  • позволять браузеру использовать этот токен для входа в Node.js/socket.io.
  • По сути мы также можем добавить информацию о пользователе.

Поскольку мы используем общий ключ в файле .env, нам не нужно хранить его в нашем коде. Вот решение, которого нам необходимо достичь:

  • Браузер запрашивает токен у Laravel.
  • Клиент подключается к Node.js / socket.io и аутентифицируется с помощью токена.
  • Node.js / socket.io проверяет токен и принимает дальнейшие сообщения.

Количество комментариев: 0

Для того, чтобы оставить коментарий необходимо зарегистрироваться