framework: [5.4] laravel echo do not authenticate - error 403 on RedisBroadcaster.php

  • Laravel Version: 5.4
  • PHP Version: 7
  • Database Driver & Version: mysql

Description:

I’m using laravel echo server, and trying use the here, join and leave methods, on trying authenticate I received

Whoops, looks like something went wrong.

1/1
HttpException in Broadcaster.php line 65:
in Broadcaster.php line 65
at Broadcaster->verifyUserCanAccessChannel(object(Request), null) in RedisBroadcaster.php line 56
at RedisBroadcaster->auth(object(Request)) in BroadcastManager.php line 308
at BroadcastManager->__call('auth', array(object(Request))) in Facade.php line 221
at Facade::__callStatic('auth', array(object(Request))) in BroadcastController.php line 19
at BroadcastController->authenticate(object(Request))
at call_user_func_array(array(object(BroadcastController), 'authenticate'), array(object(Request))) in Controller.php line 55
at Controller->callAction('authenticate', array(object(Request))) in ControllerDispatcher.php line 44
at ControllerDispatcher->dispatch(object(Route), object(BroadcastController), 'authenticate') in Route.php line 203
at Route->runController() in Route.php line 160
at Route->run() in Router.php line 559
at Router->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 30
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in SubstituteBindings.php line 41
at SubstituteBindings->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in ShareErrorsFromSession.php line 49
at ShareErrorsFromSession->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in StartSession.php line 64
at StartSession->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in EncryptCookies.php line 59
at EncryptCookies->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 102
at Pipeline->then(object(Closure)) in Router.php line 561
at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 520
at Router->dispatchToRoute(object(Request)) in Router.php line 498
at Router->dispatch(object(Request)) in Kernel.php line 174
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) in Pipeline.php line 30
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in TransformsRequest.php line 30
at TransformsRequest->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in TransformsRequest.php line 30
at TransformsRequest->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in ValidatePostSize.php line 27
at ValidatePostSize->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 46
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 102
at Pipeline->then(object(Closure)) in Kernel.php line 149
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 116
at Kernel->handle(object(Request)) in index.php line 53
at require_once('/home/igor/projetos/echosuper/public/index.php') in server.php line 21

Steps To Reproduce:

I write this in bootstrap.js

window.Echo.join('chat.1')
    .here((users) => {
    console.log(users)
})
.joining((user) => {
    console.log(user.name);
})
.leaving((user) => {
    console.log(user.name);
});

And rewrite the web route for

Route::get('/', function () {
    $user = Auth::user();
   if($user){
       event(new \App\Events\PresenceUserEvent($user));
   }
    return view('welcome');
});

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Comments: 19

Most upvoted comments

I discovered that using auth from laravel he work fine, but when I use laravel like api and vue like spa, vue do not authenticate on laravel and dispatch this error (on presence and on private channels), the question is: how to autheticate vue for using presence and private channels from echo like spa?