我正在尝试在我的 SPA 中设置推送器。我已经在 Laravel 5.7 和 Vus js 中开发了该应用程序,并使用 jwt 进行身份验证。
我的 Boostrap.js 看起来像这样:
window.Echo = new Echo({
broadcaster: 'pusher',
key: process.env.MIX_PUSHER_APP_KEY,
cluster: process.env.MIX_PUSHER_APP_CLUSTER,
encrypted: true,
auth: {
headers: {
Authorization: JWTtoken
}
}
});
Run Code Online (Sandbox Code Playgroud)
JWTtoken我登录后从 JWT 获取令牌。
我的 BroadcastServiceProvider 如下所示:
我在 config/app.php 中取消了它的注释
class BroadcastServiceProvider extends ServiceProvider
{
public function boot()
{
Broadcast::routes(['middleware' => 'jwt.auth']);
require base_path('routes/channels.php');
}
}
Run Code Online (Sandbox Code Playgroud)
我的 Channels.php 文件如下所示:
Broadcast::channel('App.User.{id}', function ($user, $id) {
return (int) $user->id === (int) $id;
});
Run Code Online (Sandbox Code Playgroud)
我还确保整个应用程序使用 jwt 作为其唯一的身份验证方法
配置/auth.php …