Использование Laravel echo, pusher и vuejs.
Всякий раз, когда я пытаюсь присоединиться к частному каналу (каналу собственного пользователя), вы получаете эту ошибку
"Pusher : Couldn't retrieve authentication info. 419Clients must be authenticated to join private or presence channels. See: https://pusher.com/docs/authenticating_users"
Вот момент, когда я присоединяюсь к каналу:
Echo.private('App.User.' + response.data.currentUser)
.listen('Event',(e)=>{});
response.data.currentUser
действительно содержит идентификатор пользователя.
Вот канал.php
Broadcast::channel('App.User.{id}', function ($user, $id) {
if (Auth::user()->id == (int) $id) {
return ['STATUS' => 'OK'];
} else {
return false;
}
});
Как я могу решить это
Я решил проблему, добавив это
import Echo from 'laravel-echo'
window.Pusher = require('pusher-js');
window.Echo = new Echo({
"authEndpoint": "/your-project-name/broadcasting/auth",
broadcaster: 'pusher',
key: '####################',
cluster : "mt1",
encrypted: true
});
Других решений пока нет …