通过 API 进行 Laravel Echo 身份验证

问题描述

在客户端上将 PusherEcho 结合使用,我尝试使用 Bearer 授权标头令牌通过 api 对私人频道进行身份验证 - 但是我遇到了以下情况日志 (最后一个日志是错误

Pusher : : ["状态改变","初始化 -> 连接"]

推杆 : : ["连接",{"传输":"ws","url":"ws://ws-mt1.pusher.com:80/app/************?protocol= 7&client=js&version=7.0.3&flash=false"}]

Pusher : : ["State changed","connecting -> connected with 新的套接字 ID 224550.32180982"]

Pusher : : ["没有回调 在 private-App.User.17 for pusher:subscription_error"]

Pusher : : ["错误:从身份验证端点返回的 JSON 是 无效,但状态码为 200。数据为:\n\n\t\n\t\t\t

enter image description here

在这里遗漏了什么?

解决方法

首先,您可以在没有 laravel-echo 的情况下设置客户端,只需使用 pusher-js。在我使用的版本中不应该有 Content-Type 标头:

    auth: {
        headers: {
            'Authorization': `Bearer CLIENT_TOKEN`,}

    },

您必须确保您订阅的频道可用,并且所有推送器应用参数以及用户令牌都已正确插入。