Мне нужно внедрить токены входа в мое приложение на основе лития (PHP framework). Две причины:
Я хочу иметь функцию "запомнить меня".
Мне также нужен способ отслеживания логинов на сервере, чтобы я мог проверить аутентифицированных пользователей на сервере сокетов node.js следующим образом:
- Пользователь запрашивает страницу
- Сервер возвращает представление с токеном сеанса где-то в HTML
- Клиент JS считывает токен и отправляет его на сервер node.js в попытке установить соединение через веб-сокеты.
- Сервер получает запрос на соединение и проверяет маркер, отправленный ему с сервером PHP.
- Позволяет или отказывает соединение на основе результата.
Итак, это вопрос из двух частей, и просто чтобы убедиться, что я не являюсь идиотом, потому что безопасность на этом сайте имеет более высокий приоритет, чем обычно.
Является ли это разумным способом создания токена входа?
<?php
// String::hash() generates a sha512 (by default) hash.
String::hash(time() . $user['username']);
?>
Является ли система проверки подлинности веб-сокета я предлагаю разумно? Можете ли вы увидеть какие-либо проблемы, возникающие или какие-либо более эффективные способы сделать это?