我不明白为什么我在尝试连接到私人频道时会遇到这个问题。我有这篇文章的100%相同的代码-无法使用laravel echo服务器、redis和socket对laravel专用频道进行身份验证。虽然带有redis前缀的io不起作用。。。它与简单通道一起工作。。。这是我的错误-
无法对客户端进行身份验证,已通过laravel echo服务器获取HTTP状态403
这是我的代码-
window.Echo = new Echo({
broadcaster: 'socket.io',
host: window.location.hostname + ':6001',
auth: {
headers:
{
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
}
});
window.Echo.private('user.'+userIdentifier).listen('SomeTestEvent', function (e) {
...
}
路线/channels.php-
Broadcast::channel('user.{id}', function ($user, $id) {
return true; // returning always true just for test
});
广播服务提供商。php-
public function boot()
{
Broadcast::routes();
require base_path('routes/channels.php');
}
事件/某些测试事件。php-
public function broadcastOn()
{
return new PrivateChannel('user.'.$this->data['user_id']);
}
拉威尔回声服务器。json-
{
"authHost": "http://localhost:8000",
"authEndpoint": "/broadcasting/auth",
"clients": [
{
"appId": "e0ebecd04673b905",
"key": "39c2a1314e4ef8e2879486a4a3b91c1e"
}
],
"database": "redis",
"databaseConfig": {
"redis": {
"host": "localhost",
"port": "6379"
},
"sqlite": {
"databasePath": "/database/laravel-echo-server.sqlite"
}
},
"devMode": true,
"host": "",
"port": "6001",
"protocol": "http",
"socketio": {},
"secureOptions": 67108864,
"sslCertPath": "",
"sslKeyPath": "",
"sslCertChainPath": "",
"sslPassphrase": "",
"subscribers": {
"http": true,
"redis": true
},
"apiOriginAllow": {
"allowCors": false,
"allowOrigin": "*",
"allowMethods": "GET, POST",
"allowHeaders": "Origin, Content-Type, X-Auth-Token, X-Requested-With, Accept, Authorization, X-CSRF-TOKEN, X-Socket-Id"
}
}
哦,天哪,我刚刚知道怎么做。
我需要使用-Broadcast::routes(['middleware'=
我在前端添加了授权令牌-
auth: {
headers:
{
'Authorization': 'Bearer ' + accToken,
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
}
Laravel Echo Server NodeJs server for Laravel Echo broadcasting with Socket.io. System Requirements The following are required to function properly. Laravel 5.3 Node 6.0+ Redis 3+ Additional informati
我使用获得了和应用程序,我正在尝试通过套接字将前端连接到后端。 我已经通过方法,但它不会订阅 到目前为止,我得到的是: 页面加载后,我调用: 我通过 }); 然后我通过
我正在设置一个laravel-echo-server,当我试图验证到一个私有通道时,我得到了错误:客户端无法被验证,得到了HTTP状态404。 授权公共渠道工程。 //channels.php //前端脚本验证到私有通道 //拉威尔回声服务器。json //引导。js 简单地说,我的laravel echo是通过应用程序加载的。在public/js中的js,引导程序中的所有库。js被加载进来。好的
NativeScript Laravel-Echo This is a laravel-echo plugin for native applications made with nativescript For more information read Laravel Broadcast. Prerequisites / Requirements Necesary api authentica
我最近一直在摆弄Laravel Echo和Laravel Echo服务器,Laravel Echo的socket.io服务器实现。 网络上的内容不多,我可能遗漏了一些要点。。 我可以从laravel-echo-server的cli中看到当用户加入或离开一个通道(在我的情况下是存在通道)。我有一个Laravel事件,它执行一些我想在用户离开存在通道时触发的数据库操作。我该如何实现这一点? 谢谢
无论出于何种原因,我无法从laravel echo接收客户端的任何数据。我使用的是LaravelEcho服务器(socket.io)、redis广播和redis队列。据我所知,它们都是功能性的。我将带您了解如何为测试设置它。首先,我创建了一个UserCreated事件: 然后,为了测试此事件,我创建了一个CreateUser命令: 最后,这是我的laravel echo服务器。json: 接下来,