我正在尝试建立一个在线 channel 。但是返回的身份验证字符串不正确。

这是后端代码:

class pusherController extends Controller
{

    protected $pusher;

    public function __construct(PusherManager $pusher)
    {
        $this->pusher = $pusher;
    }

    public function pusherPinyinAuth(Request $request)
    {
        if($request->user()) {
            $user = $request->user();
            $auth= $this->pusher->presence_auth($request->input('channel_name'),$request->input('socket_id'), $user->id, array('h'=>'user_info'));
            return response($auth);
        }
    }
}

错误信息
Pusher : Error : {"type":"WebSocketError","error":{"type":"PusherError","data":{"code":null,"message":"Auth value for subscription to presence-5 is invalid: should be of format 'key:signature'"}}}

我猜该错误是由于在auth字符串之前添加了额外的':'引起的。但我手动删除它仍然报告相同的错误。这是我的字符串输出:
{auth: ":8dacf362f8fe62bae42c33dfe5511d3d1c42144685d5843a6a6a8014490ed0f6",…}

我正在使用https://github.com/vinkla/pusher的推桥

我想尝试使用官方的pusher-php-server,但是在安装composer之后,我不知道如何在我的代码中使用它。我想知道https://github.com/pusher/pusher-http-php是否存在相同的问题。

最佳答案

对我来说,这是由于在生产环境中未正确设置推键,secret和app_id值引起的。

关于Laravel Pusher存在 channel 身份验证错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36963417/

10-12 22:31