Laravel广播事件显示身份验证错误

时间:2020-04-19 14:33:37

标签: laravel vue.js authentication jwt

我是laravel广播事件的新手。我用vuejs和laravel api后端制作了一个聊天应用程序。我设置了laravel事件广播以显示实时消息。在我的Vue应用程序中,我添加了这些配置。

import Echo from "laravel-echo";
window.Pusher = require("pusher-js");

window.Echo = new Echo({
  authEndpoint: "http://quasarchat.test/api/auth/broadcasting/auth",
  auth: {
    headers: {
      Authorization: `Bearer ${store.state.AuthModule.token}`,
    },
  },
  broadcaster: "pusher",
  key: "myappkey",
  wsHost: "quasarchat.test",
  encrypted: false,
  wsPort: 6001,
  disableStats: false,
  enabledTransports: ["ws", "wss"],
});

在后端,我配置了laravel websockets。我用jwt auth进行身份验证。我的laravel API路线如下所示。

Route::group(['prefix' => 'auth', 'namespace' => 'Auth'], function () {
    Route::post('signin', 'SignInController')->name('login');
    Route::post('signout', 'SignOutController');
    Route::get('me', 'MeController');
});

,在我的应用程序/提供程序中,BroadcastService如下所示。

public function boot()
{
  Broadcast::routes([
  'middleware' => 'auth:api',
  'prefix' => 'api/auth/'
   ]);
   require base_path('routes/channels.php');
}

但是用pusher加载应用程序时出现错误。

GET http://quasarchat.test/api/auth/signin 405 (Method Not Allowed)

我在帖子中声明了我的登录方法。但这向我显示了登录请求。我认为这与广播路由有关。我怎样才能解决这个问题。有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

您需要取消注释config / app.php中的BroadcastServiceProvider类。