Я делаю приложение с Live Chat в Laravel 5 и следую этому уроку, https://github.com/dazzz1er/confer/tree/master Я уже выполнил все из них, но у меня ошибка в веб-консоли:
Похоже, что он делает вызов Ajax на мой URL Http: //localhost/joene_/public/index.php/auth и так как у меня нет маршрута для обработки этого запроса, он говорит 404. Я не знаю, должен ли сделать маршрут для него, но что я буду там кодировать? Я понятия не имею. Учебник даже не упоминает об этом.
Спасибо
Всякий раз, когда вы звоните Auth::check()
Laravel проверит, аутентифицирован ли пользователь, проверив информацию о его сеансе.
Как насчет толкатель? Как они узнают, какие пользователи в настоящее время вошли в ваше приложение laravel?
Ответ лежит в вызове Ajax http://localhost/joene_/public/index.php/auth
,
По указанному выше URL-адресу ваша установка laravel позволит вашему приложению Pusher связываться с сеансом laravel ваших пользователей.
Давайте углубимся в некоторый код:
1) Pusher Auth Controller
class PusherController extends Controller {
//accessed through '/pusher/'
//setup your routes.php accordingly
public function __construct() {
parent::__construct();
//Let's register our pusher application with the server.
//I have used my own config files. The config keys are self-explanatory.
//You have received these config values from pusher itself, when you signed up for their service.
$this->pusher = new Pusher(\Config::get('pusher.app_key'), \Config::get('pusher.app_secret'), \Config::get('pusher.app_id'));
}
/**
* Authenticates logged-in user in the Pusher JS app
* For presence channels
*/
public function postAuth()
{
//We see if the user is logged in our laravel application.
if(\Auth::check())
{
//Fetch User Object
$user = \Auth::user();
//Presence Channel information. Usually contains personal user information.
//See: https://pusher.com/docs/client_api_guide/client_presence_channels
$presence_data = array('name' => $user->first_name." ".$user->last_name);
//Registers users' presence channel.
echo $this->pusher->presence_auth(Input::get('channel_name'), Input::get('socket_id'), $user->id, $presence_data);
}
else
{
return Response::make('Forbidden',403);
}
}
}
2) JS используется с Pusher
//replace 'xxx' below with your app key
var pusher = new Pusher('xxx',{authEndpoint : '/pusher/auth'});
var presenceChannelCurrent = pusher.subscribe('presence-myapp');
presenceChannelCurrent.bind('pusher:subscription_succeeded', function() {
alert(presenceChannelCurrent.members.me.info.name+' has successfully subscribed to the Pusher Presence Channel - My App');
});
Надеюсь, это поможет вам.
Других решений пока нет …