自定义private-channel时,避免使用private-开头的频道名,系统默认的模型认证会在频道名上自动加上‘private-’前缀,自定义频道名时,避开这规则,同时在config/channels.php里对自定义的私有频道进行登录权限验证,如:
Broadcast::channel('custom-private-channel-{id}', function ($user, $id) { if( is_numeric($id) ){ return (int) $user->id === (int) $id; }else{ return session()->getId() === $id; } });
在laravel-echo-server.json设置devMode=true查看日志,确认所有验证能正常通过后,私有频道即可监听到。