#laravel #vue.js #pusher #laravel-echo
Вопрос:
Я отправляю уведомление о трансляции по частному каналу. Я использую pusher и laravel-echo. Я раскомментировал оба
IlluminateBroadcastingBroadcastServiceProvider::class,
'Broadcast' => IlluminateSupportFacadesBroadcast::class,
в config/app.php.
Я использую веб-маршруты и использую промежуточное программное обеспечение «auth:sanctum».
BroadcastServiceProvider.php
public function boot()
{
Broadcast::routes();
//Broadcast::routes(['auth:sanctum']);
require base_path('routes/channels.php');
}
Я пробовал использовать оба способа.
bootstap.js
import Echo from 'laravel-echo';
window.Pusher = require('pusher-js');
window.Echo = new Echo({
broadcaster: 'pusher',
key: process.env.MIX_PUSHER_APP_KEY,
cluster: process.env.MIX_PUSHER_APP_CLUSTER,
forceTLS: true,
});
В заголовке запроса, Authorization: Bearer null
.
Я попытался добавить маркер авторизации. Но все равно, получаю эту ошибку.
channels.php
Broadcast::channel('App.Models.User.{id}', function ($user, $id) {
return (int) $user->id === (int) $id;
});
Я получаю сообщение API в своей учетной записи pusher. Но не смог прослушать его в vue.Ниже приведен код в файле vue.
mounted() {
window.Echo.private("App.Model.User." this.userId ).notification(
(notification) => {
console.log(notification);
}
);
},
Комментарии:
1. 403 «Запрещено» поступает из первоначального запроса на
/auth
конечную точку, которая не может авторизоваться с учетом вашей конфигурации по умолчанию. Ответ должен быть здесь, в документах2. @Ohgodwhy, указав авторизацию пользовательского толкателя, получаю 401 несанкционированную ошибку.