我是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)
我在帖子中声明了我的登录方法。但这向我显示了登录请求。我认为这与广播路由有关。我怎样才能解决这个问题。有人可以帮助我吗?
答案 0 :(得分:0)
您需要取消注释config / app.php中的BroadcastServiceProvider类。