php - 订阅 private-asdf 所需的 Pusher 私有(private) channel 身份验证信息

标签 php jquery laravel websocket pusher

尝试使用 Pusher 订阅私有(private) channel 。但每次尝试订阅时,我都会收到以下错误。这没有任何意义,因为它显然返回了身份验证信息。

Pusher : Error : {"type":"WebSocketError","error":{"type":"PusherError","data":{"code":null,"message":"Auth info required to subscribe to private-sadfsadf"}}}

通常它会返回状态为 200 的 auth json(如下)。

"{\"auth\":\"0b1ce844906bd4d82cb4:21571e5667bf99f17bbf67ae0411594560748fde30b9edeca653653158f8a1f5\"}"

Pusher PHP(缩短)

$pusher = new Pusher($app_key, $app_secret, $app_id);
$auth = $pusher->socket_auth($postvars['channel_name'],  $postvars['socked_id']);
if ($auth)
    return $response->withJSON($auth);
else
    return $response->withStatus(403);

Pusher JS

var pusher = new Pusher('0b1ce844906bd4d82cb4', {
    cluster: 'us2',
    encrypted: true,
    authEndpoint: '{{site.uri.public}}/chat/auth/{{game.id}}',
    authTransport: 'ajax',
    auth: {
        params: {
            'csrf_name': '{{site.csrf.name}}',
            'csrf_value': '{{site.csrf.value}}'             
        },
        headers: {
            '{{site.csrf.name}}': '{{site.csrf.value}}'
        }
    }
});

最佳答案

我遇到了这个错误,这是由于将 BROADCAST_DRIVER 设置为 redis 而不是 Pusher 造成的。

关于php - 订阅 private-asdf 所需的 Pusher 私有(private) channel 身份验证信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47215890/

相关文章:

php - Symfony2 : Unable to use DoctrineExtensions Mysql Year function

php - 如何使用 PHP 从用户定义的值增加 mysql 数据库列中的值?

php - 找出照片是用哪个设备拍摄的 - 这可能吗?

php - Eloquent 地选择具有空字符串或空值的行

php - Laravel 5.4 建议通过 migrate :reset? 使用 "enable/disableForeignKeyConstraints()"

php - 将鼠标悬停在弹出窗口中显示名称 anchor 的内容,而不是单击以转到内容

php - preg_match_all() 如何处理字符串?

javascript - 使用 javascript 将 ckEditor 中的选定内容替换为新内容

jquery - 只计算 <ul id ="pages"> 之后的类名

javascript - 如何在laravel中使用jquery ajax保存多个表单数据?