Я использую redis на laradock и паспорт для аутентифицированного канала. если я использую publi c channel, сокет подключен, но если я изменяю событие канала в NewMessage. php на private, я получаю ошибку Error sending authentication request
при попытке аутентификации. У кого-нибудь есть такая же проблема? как это решить?
laravel -echo-server. json конфигурация:
{
"authHost": "http://platform.lenna.test/app/public",
"authEndpoint": "/broadcasting/auth",
"clients": [],
"database": "redis",
"databaseConfig": {
"redis": {
"port": "6379",
"host": "redis"
}
},
"devMode": true,
"host": null,
"port": "6001",
"protocol": "http",
"socketio": {},
"sslCertPath": "",
"sslKeyPath": "",
"apiOriginAllow": {
"allowCors": true,
"allowOrigin": "http://localhost:80",
"allowMethods": "GET, POST",
"allowHeaders": "Origin, Content-Type, X-Auth-Token, X-Requested-With, Accept, Authorization, X-CSRF-TOKEN, X-Socket-Id"
}
}
это мое laravel событие NewMessage . php
...
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
class NewMessage implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public $message;
public $app;
public $room;
public function __construct(Message $message, Room $room, App $app)
{
$this->message = $message;
$this->app = $app;
$this->room = $room;
}
public function broadcastOn()
{
return new PrivateChannel('ChannelApp.' . $this->app->id);
}
}
BroadcastServiceProvider. php
class BroadcastServiceProvider extends ServiceProvider
{
public function boot()
{
Broadcast::routes(['middleware' => ['auth:api']]);
require base_path('routes/channels.php');
}
}
Канал. php маршруты
Broadcast::channel('ChannelApp.{appId}', function ($user, $appId) {
return true;
})
Это мои laravel журналы ошибок эхо-сервера: