当前位置: 首页 > 知识库问答 >
问题:

Laravel广播通知错误:客户端无法验证,获得HTTP状态404

哈烨熠
2023-03-14

我正在尝试建立一个实时通知系统。我使用Laravel通知和laravel-echo-server.当我在终端laravel-echo-server start中使用start命令监听通知时,在私有信道中发生错误:

⚠ [4:36:43 PM]-H12aWYBsF5UdR5NYAAAH无法通过私人应用的身份验证。领域使用者使用者1.

客户端无法进行身份验证,已获取HTTP状态404

密码

//频道。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个答案

壤驷华辉
2023-03-14

它可能与您的echserverauth host配置有关,

例如,您可以使用laravel echo server和redis检查laravel实时应用程序

使用Laravel/Redis/Socket的实时应用程序示例。IO/Laravel回波

我希望这能有所帮助

 类似资料:
  • 我使用获得了和应用程序,我正在尝试通过套接字将前端连接到后端。 我已经通过方法,但它不会订阅 到目前为止,我得到的是: 页面加载后,我调用: 我通过 }); 然后我通过

  • 我正在建一个水疗中心。我使用laravel作为后端,vuejs作为前端。它们在不同的端口上独立运行。(使用laravel api) Laravel在8000上运行 Vue在8082上运行 我允许用户使用JWT Auth进行身份验证。 我正在尝试使用laravel echo服务器制作一个实时数据传输应用程序,并使用公共通道传输数据,效果非常好。 现在,我需要使用私有通道将数据广播给经过身份验证的用户

  • 我能够使用HTTPS设置在本地环境上运行laravel echo服务器。但是,我的生产服务器(基于Forge)似乎存在一个问题: 我能够通过HTTPS在本地测试私有通道,它工作得很好,所以看起来不存在配置问题。 我应该提到的是,我使用的是LaravelPassport,导致此错误的请求被抛出到常规身份验证中间件之外的页面上。 为了确保它不是我的身份验证方法,我让它在我的通道配置中返回“true”:

  • 我看到这个问题已经被问了很多次,但是没有一个答案是有效的,所以我请求帮助和一些见解。 我使用laravel回声和redis广播事件。我的laravel回声服务器启动得很好,redis运行得很好。 重新加载网页时,在laravel echo服务器终端中出现以下错误: 我一直在做这件事,但没有什么能帮上忙。 这是我的 这里是我的 我的 这是我的larave echo服务器。json 当我触发事件时,我

  • 我一直在尝试使用Laravel Passport,但我收到了错误{“error”:“invalid_client”,“message”:“client authentication failed”}。我已经在这个Android和Laravel项目中使用了它,但是当我在数据库中看到正确的数据时,我可以正确地注册用户。然后,当Android应用程序尝试获取访问令牌时,它会崩溃,因为服务器返回了以前的错