У меня есть веб-приложение, написанное на php и планирую добавить к нему функции чата. Я решил использовать node.js, поскольку это кажется идеальным для работы, и php sorta воняет для такого рода вещей.Аутентификация между php и node.js
В какой-то момент мне нужно убедиться, что запрос на сервер socket.io является законным. Мне нужно убедиться, что запрос получен с страницы, сгенерированной php. пытаясь сохранить его, я придумал эту идею. Итак, процесс клиент/сервер будет:
Клиент открывает веб-страницу, а php получает запрос. Php создает хеш своего рода и связывает узел http-сервера через GET. Это я думал просто закрутить 127.0.0.1 и передать хэш не уверен, что это будет так же легко, хотя с запуском apache уже.
Узел получил бы это и сохранил бы его как свойство в объекте, поэтому следующие запросы от клиента будут иметь к нему доступ.
Когда curl возвращается, php отображает страницу и передает этот хэш клиенту.
Клиент отправляет запрос серверу узлов на каком-либо порту, передает этот хэш и вызывает обратный вызов. Теперь узел проверяет хэш является одним из свойств объекта I, описанного в шаге 2
Если хэш ОС один из свойств затем обработать запрос, в противном случае что-то хитроумное происходят и игнорировать его
Это является общей идеей, и я хотел бы знать, есть ли у этого очевидные недостатки, которые я должен рассмотреть перед реализацией. Любые советы будут высоко ценится.
Я бы рекомендовал хранить маркер в БД таблицы (возможно, маркер столбца на таблицу пользователей) и отправить маркер пользователя. Теперь, когда пользователь подключается к node.js, токен отправляется, а node.js проверяет его с помощью таблицы users. –
Проблема с вашей настройкой заключается в том, что токены пользователя будут потеряны, если перезапуск узла сервера или что-то в этом роде. –
свяжите их nodephp как – Smash