【问题标题】:Pusher : Couldn't retrieve authentication infoPusher:无法检索身份验证信息
【发布时间】:2017-10-05 14:06:29
【问题描述】:

使用 Laravel echo、pusher 和 vuejs。

每当我尝试加入私人频道(自己用户的频道)时,都会收到此错误

"Pusher : Couldn't retrieve authentication info. 419Clients must be authenticated to join private or presence channels. See: https://pusher.com/docs/authenticating_users"

这是我加入频道的时刻:

Echo.private('App.User.' + response.data.currentUser)
.listen('Event',(e)=>{});

response.data.currentUser 确实包含正确的用户 ID。

这里是channel.php

Broadcast::channel('App.User.{id}', function ($user, $id) {
    if (Auth::user()->id == (int) $id) {
        return ['STATUS' => 'OK'];
    } else {
        return false;
    }
});

我该如何解决这个问题

【问题讨论】:

  • 您是否对频道进行了身份验证?
  • 是的。我确实进行了身份验证
  • 我也有同样的问题
  • @allaghi 如果我确实找到了解决方案,我会发布它。这真的很烦人,如果我不摆脱那个错误,我什么都做不了。
  • 也感谢@CarlosF,如果我找到了我会发布的解决方案

标签: php laravel pusher laravel-echo


【解决方案1】:

我通过添加这个解决了这个问题

import Echo from 'laravel-echo'

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

window.Echo = new Echo({

    "authEndpoint": "/your-project-name/broadcasting/auth",
    broadcaster: 'pusher',
   key: '####################',
   cluster : "mt1",
   encrypted: true

});

【讨论】:

  • 你在哪里添加的
【解决方案2】:

我遇到了同样的问题,原来是我的服务器缺少PHP curl extension.

我首先收到此错误:

调用未定义的方法 Pusher\Pusher::socket_auth()

然后我尝试安装:

composer require pusher/pusher-http-laravel

这导致 PHP 扩展 curl is missing from your system 错误。

安装后 php-curl 使用:

sudo apt-get install php-curl

它修复了所有问题,现在可以正常工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-13
    • 2012-03-09
    • 1970-01-01
    • 2018-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多