我刚刚开始使用Pusher和Echo进行广播。我的问题是我收到了错误,但我无法找到解决方法。错误消息看起来非常困难,但我不知道我应该去哪里摆脱它。
我的laravel是Laravel 5.3的升级版。我取消了App/Providers/BroadcastServiceProvider::class into config.php
的注释。
我创建了一个活动并设置了私人频道。return new PrivateChannel('dealer.'$this->client->dealer_id);
我将新频道添加到routes/channels.php
Broadcast::channel('dealer.{dealerId}', function ($user, $dealerId) {
return (int) $user->dealer_id === (int) $dealerId;
});
我将此添加到bootstrap.js
window.Echo = new Echo({
broadcaster: 'pusher',
key: 'my-secrect-key'
});
我还在.env文件中添加了所有内容。最后,我在applayout.blade.php
的末尾将通道添加到脚本中Echo.private(`dealer.1`)
.listen('NewClient', (e) => {
console.log(e);
});
当我加载页面时,这是我从控制台得到的错误:
Pusher : Error : {
"type":"WebSocketError",
"error":{
"type":"PusherError",
"data":{
"code":null,
"message":"Auth value for subscription to private-dealer.1 is invalid: should be of format 'key:signature'"
}
}
}
我错过了什么/做错了什么?
答案 0 :(得分:3)
将Laravel 5.3升级到5.4,您应该在.env文件中进行更改
更改自:
PUSHER_KEY
PUSHER_SECRET
到
PUSHER_APP_KEY
PUSHER_APP_SECRET
有人在Laracast上回答了这个问题。 Link