Ошибка уведомления вещания Laravel: Клиент не может пройти проверку подлинности, получил статус HTTP 404

Я пытаюсь построить систему уведомлений в реальном времени. Я использовал Laravel-Notifications и laravel-echo-server. когда я прослушиваю уведомление с помощью команды запуска в терминале laravel-echo-server start, то в частном канале произошла ошибка:

⚠ [4:36:43 PM] - H12aWYBsF5UdR5NYAAAH не может быть аутентифицирован для private-App.Domain.User.User.1

Клиент не может быть аутентифицирован, получил статус HTTP 404

КОД

// channel.php

Broadcast::channel('App.Domain.User.User.{id}', function ($user, $id) {
return (int) $user->id === (int) $id;});

// Код файла уведомлений (ListingApproved.php)

class ListingApproved extends Notification implements ShouldQueue {
use Queueable;

private $listing;

/**
 * Create a new notification instance.
 *
 * @return void
 */
public function __construct(Listing $listing)
{
    $this->listing = $listing;
}

/**
 * Get the notification's delivery channels.
 *
 * @param  mixed  $notifiable
 * @return array
 */
public function via($notifiable)
{
    return ['database', 'broadcast'];
}

public function toArray($notifiable)
{
    return $this->listing->id;
}
public function toBroadcast($notifiable)
{
    return new BroadcastMessage([
        'invoice_id' => $this->listing->id
    ]);
}}

// интерфейсный скрипт для прослушивания уведомлений

Echo.private('App.Domain.User.User.' + '{{ auth()->user()->id }}')
        .listen(".Illuminate\\Notifications\\Events\\BroadcastNotificationCreated", (notification) => {
            console.log('yes');
            console.log(notification.type);
        });

1 ответ

Это может быть связано с вашим эхо-сервером auth host конфигурации,

Вы можете проверить, например, приложение реального времени Laravel с эхо-сервером Laravel и Redis,

Пример приложения в реальном времени с Laravel / Redis / Socket.IO / Laravel-Echo

Я надеюсь, это поможет

Другие вопросы по тегам