我试图在laravel 6上建立一个带有回显的私有推送器通道。它不会授权用户。我能做的最好的就是从pusher
获得以下响应Pusher : No callbacks on private-App.User.1 for pusher:subscription_error
我已遵循文档,已经注册:
App\Providers\BroadcastServiceProvider
添加了csrf令牌:
<meta name="csrf-token" content="{{ csrf_token() }}">
调整了broadcastServiceProvider中的广播路由
Broadcast::routes(["middleware" => ["auth:api"]]);
需要频道文件
require base_path('routes/channels.php');
这是频道代码(日志甚至没有运行)
Broadcast::channel('App.User.{id}', function ($user, $id) {
Log::info('User failed to auth.');
return (int) $user->id === (int) $id;
});
这是bootstrap.js代码,显然使用了我的真实密钥和端点(尝试使用和不使用端点)
从“ laravel-echo”导入Echo
window.Pusher = require('pusher-js');
window.Echo = new Echo({
broadcaster: 'pusher',
key: 'mykeyhere111',
cluster: 'eu',
authEndpoint: "https://mydomain.test/broadcasting/auth",
forceTLS: true
});
Pusher.logToConsole = true;
console.log(window.Echo.options);
和我的Vue监听方法:
Echo.private(`App.User.${userId}`)
.notification( (notification) => {
console.log(notification)
})
我还设置了环境文件
BROADCAST_DRIVER=pusher
PUSHER_APP_ID=akeyhere1
PUSHER_APP_KEY=akeyhere123
PUSHER_APP_SECRET=akeyhere12345
PUSHER_APP_CLUSTER=eu
我正在与ssl合作开发宅基地,也尝试过流浪汉。 auth的网络响应为:
Request URL: https://mysite.test/broadcasting/auth
Request Method: POST
Status Code: 302
没有响应数据。
我花了几天的时间试图使它正常工作,似乎什么也没做。有什么想法吗?