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

无法收听使用laravel和vue js的推送器专用频道

滕令雪
2023-03-14

我已经创建了一个通知系统,所有的设置和它的工作罚款,当我发送通知到推动者。但是当我试图在私人频道上收听时,我会出错。

这是我的bootstrap.js文件laravel-echo代码

    import Echo from 'laravel-echo';

    window.Pusher = require('pusher-js');
    let token = document.head.querySelector('meta[name="csrf-token"]').content;
    window.Echo = new Echo({
        broadcaster: 'pusher',
        key: process.env.MIX_PUSHER_APP_KEY,
        cluster: process.env.MIX_PUSHER_APP_CLUSTER,
        forceTLS: true,
            auth: {
            headers: {
              'X-CSRF-Token': token
            }
          }
      
    });

这是我的主要html的元标记内容

 <meta name="csrf-token" content="{{ csrf_token() }}">
 <meta name="user-id" content="{{Auth::check() ? Auth::user()->api_token:''}}">

以下是在应用程序中侦听的代码。js

let userId = document.head.querySelector('meta[name="user-id"]').content;
Echo.private('App.User.' + userId)
    .notification((notification) => {
        console.log(notification.type);
    });

这是我在控制台上遇到的错误

邮递http://localhost:3000/broadcasting/auth 419(身份不明)

提前谢谢

共有2个答案

邹俊豪
2023-03-14

我想出来了。这是由于BroadcastServiceProvider中的路由设置引起的问题。php

弘康安
2023-03-14

错误代码419由Laravel用于指示您的CSRF令牌无效或丢失。应确保将正确的令牌传递到身份验证终结点。

 类似资料:
  • 我试图找到一种不同的方法来将给定的模型及其关系保存/更新到数据库中。 基本上,我有一个“作者”页面的表单,可以添加多个“书籍”。自然,“作者”和“书籍”模型有一对多的关系。 根据laravel官方教程,您必须: 将所有输入数据添加到"作者"模型 创建并保存作者模型到DB 对于每个"Book"输入数据 创建并保存每个书模型到DB使用$作者- Laravel还指出,“有时你可能不仅希望保存一个模型,还

  • 在使用私人频道时,我无法让echo和pusher正常工作,在谷歌上搜索了两天,找到了nada。 似乎正在发生的是某种身份验证问题(我使用Laravel基本身份验证),因为我可以订阅公共频道 路线/频道。php bootstrap.js default.blade.php(主要布局) 控制台上打印的内容是: 这是一个非常普通的错误,然后为了调试的目的,我试图使用Pusher(而不是laravel e

  • 我正在使用新的Firebase平台。我试图让我的应用程序服务器发送消息推送到我的iPhone。 我的设置正在运行,我在网站上的Firebase通知区域手动发送消息,但当我尝试将消息发送到https://fcm.googleapis.com/fcm/send 我没有收到发送到设备的消息。 我正在发送以下内容(带有auth头) 我从POST得到了200个响应,有以下身体: 如果我尝试直接通过Fireb

  • 我们在开发针对国内运营的时候进行需要使用过程的几家推送,极光推送则是其中之一。这个包就可以让你方便地在你构建的 Laravel 应用中进行极光推送的使用。 前提 PHP >= 7 Laravel >= 5.5 安装 在 Laravel 应用目录使用 Composer 进行依赖: composer require medz/laravel-jpush-notification-channel 包中依

  • 我在google cloud上使用推送通知,但出于某种原因,我无法在模拟器上接收推送通知。 但是,当我在实际设备上测试时,相同的应用程序确实会收到通知。

  • 我正试图将一些表单数据发送到后端,但Laravel验证不会返回422状态的错误。 公理 简单的axios将请求发送到URL,并希望在请求周期中发现错误时返回响应。 Laravel 我已经设置了Laravel验证来验证一些表单输入,如果验证失败,则返回422。 回答 给出了一个响应,但当我试图对其进行控制台时,控制台中没有定义: 我在这里遇到过这个问题https://github.com/axios