Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 15.09.2017 04:28:07

WebSocket: закрывается соединение при попытке получить куки

Доброго времени!
Laravel 5.2. Для чата используется websocket на php "orchid socket" - GitHub - Orchid Socket
если не использовать ф-цию getUserFromSession($conn), то работает прекрасно. Но как-раз требуется идентифицировать пользователя на стороне сервера. Данный Package (вроде бы на Ratchet) позволяет это сделать по кукам, но что-то не работает:

public function getUserFromSession($conn){

  $session = (new SessionManager(App::getInstance()))->driver();
  $cookies = $conn->WebSocket->request->getCookies();

// Но где-то здесь, при попытке получить куки закрывается соединение с кодом 1000
// Может потому-что $session возвращает пустой объект? (проверил). А почему пустой?
// Все что ниже по ходу уже не имеет смысла

  $laravelCookie = urldecode($cookies[Config::get('session.cookie')]);
  $idSession = Crypt::decrypt($laravelCookie);
  $session->setId($idSession);
  $conn->session = $session;
  $conn->session->start();
  $userId = $conn->session->get(Auth::getName());
}

Изменено Yurri_87 (15.09.2017 14:11:03)

Не в сети

#2 15.09.2017 13:59:34

Re: WebSocket: закрывается соединение при попытке получить куки

пока вижу решение без идентификации на стороне сервера, но с использованием уникального токена : генерировать токен (символов 30) для каждого разговора, как идентификатор разговора и перед началом беседы помещать его в input type="hidden" и передавать в сообщении. На стороне сервера делать вставку данных в БД, взависимости от этого токена без идентификации. Уж перебором токенов вряд ли кто будет заниматься чтобы в чужой чат что-то написать.

Но все-же вопрос остается открытым - почему не работает идентификация по кукам.

Не в сети

#3 15.09.2017 23:50:10

Re: WebSocket: закрывается соединение при попытке получить куки

Здравствуй, почему ты не создашь issues?

У меня метод getUserFromSession описанный в доке, прекрасно работает (Laravel 5.3/5.5).

Если проблема актуальна напишете в телеграмм @tabuna и мы решим это.

Не в сети

Подвал раздела