【问题标题】:Laravel private channel authorization not workingLaravel 私人频道授权不起作用
【发布时间】:2020-07-23 19:56:32
【问题描述】:

我正在学习将它与 Laravel 一起使用的推送器,我正在尝试使用 Laravel-echo 订阅私人频道,如下所示:

import Echo from 'laravel-echo';

window.Pusher = require('pusher-js');

window.Echo = new Echo({
    Pusher.logToConsole = true; //update: added this
    broadcaster: 'pusher',
    key: process.env.MIX_PUSHER_APP_KEY,
    cluster: process.env.MIX_PUSHER_APP_CLUSTER,
    encrypted: true
});

var channel = window.Echo.private('roomr');

根据Laravel documentations,我必须在 channel.php 文件中设置授权,所以我在其中写道:

Broadcast::channel('roomr', function ($user) {
    logger('hit authorize roomr');
    return true;
});

请注意,我使用logger('hit authorize roomr'); 来了解是否正在调用我的函数,但是,当我检查日志文件时,它是空的,这意味着该函数没有被调用。

在谷歌浏览器中使用开发者工具,我看到有一个发送到http://127.0.0.1:8000/broadcasting/auth 的帖子请求返回响应 200,所以,我认为身份验证不是问题。

更新:

在我现在在 chrome 控制台中将 Pusher.logToConsole = true; 添加到我的 javascript 之后,我得到:

Pusher : : ["从 auth 端点返回的 JSON 无效,但状态 代码为 200。数据为:"]

我还能做什么?请帮我解决这个问题

【问题讨论】:

    标签: laravel laravel-5 laravel-5.8 pusher laravel-echo


    【解决方案1】:

    问题出在 .env 文件中,我通过设置 BROADCAST_DRIVER=pusher 解决了它

    【讨论】:

      猜你喜欢
      • 2021-11-08
      • 2019-07-03
      • 2021-11-15
      • 2021-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-06
      • 2020-03-24
      相关资源
      最近更新 更多