/pusher/auth 端点在 Laravel 中返回 404
/pusher/auth endpoint returning 404 in Laravel
我构建了一个 Laravel 应用程序,我试图通过 Pusher.com 实现 Web 套接字(这是第一次)。
虽然我的 public 频道订阅工作正常,但我很难让私人频道正常工作。
根据 laravel 文档,您需要在我拥有的 app.php
配置文件中取消注释 App\Providers\BroadcastServiceProvider::class
。
我的 channels.php 有以下规则
Broadcast::channel('App.User.{id}', function ($user, $id) {
return (int) $user->id === (int) $id;
});
Broadcast::channel('private-queue.business.{business}', function ($user, Business $business) {
// @todo: add real authentication
return true;
});
我还需要添加什么才能让 /pusher/auth
端点正常工作吗?
你可以试试:
试试这个:
在 config/app.php 中取消注释 App\Providers\BroadcastServiceProvider::class
使用 php artisan config:cache
使用 php artisan route:cache
用 php artisan route:list
检查新路线 broadcasting/auth
从 Laravel 7.x 开始,广播端点是 broadcasting/auth
而不是 pusher/auth
。
我需要像这样更新我的 JS 才能定义自定义身份验证端点:
const pusher = new Pusher('{{ env('PUSHER_APP_KEY') }}', {
cluster: '{{ env('PUSHER_APP_CLUSTER') }}',
authEndpoint: '/broadcasting/auth',
auth: {
headers: {
'X-CSRF-TOKEN': '{{ csrf_token() }}',
}
}
});
您需要添加 CSRF-TOKEN 否则您将收到页面过期错误。
我构建了一个 Laravel 应用程序,我试图通过 Pusher.com 实现 Web 套接字(这是第一次)。
虽然我的 public 频道订阅工作正常,但我很难让私人频道正常工作。
根据 laravel 文档,您需要在我拥有的 app.php
配置文件中取消注释 App\Providers\BroadcastServiceProvider::class
。
我的 channels.php 有以下规则
Broadcast::channel('App.User.{id}', function ($user, $id) {
return (int) $user->id === (int) $id;
});
Broadcast::channel('private-queue.business.{business}', function ($user, Business $business) {
// @todo: add real authentication
return true;
});
我还需要添加什么才能让 /pusher/auth
端点正常工作吗?
你可以试试: 试试这个:
在 config/app.php 中取消注释 App\Providers\BroadcastServiceProvider::class 使用 php artisan config:cache 使用 php artisan route:cache 用 php artisan route:list
检查新路线 broadcasting/auth从 Laravel 7.x 开始,广播端点是 broadcasting/auth
而不是 pusher/auth
。
我需要像这样更新我的 JS 才能定义自定义身份验证端点:
const pusher = new Pusher('{{ env('PUSHER_APP_KEY') }}', {
cluster: '{{ env('PUSHER_APP_CLUSTER') }}',
authEndpoint: '/broadcasting/auth',
auth: {
headers: {
'X-CSRF-TOKEN': '{{ csrf_token() }}',
}
}
});
您需要添加 CSRF-TOKEN 否则您将收到页面过期错误。