我正在尝试使用带有laravel-echo的vue cli项目创建一个聊天应用程序。但是由于419未知状态/ broadcasting / auth而收到错误消息。 这是我的main.js filr
import Vue from "vue";
import App from "./App.vue";
import "./registerServiceWorker";
import router from "./router";
import store from "./store";
import i18n from "./i18n";
import VueConfirmDialog from "vue-confirm-dialog";
import VueChatScroll from "vue-chat-scroll";
import Echo from "laravel-echo";
Vue.use(VueConfirmDialog);
Vue.config.productionTip = false;
new Vue({
router,
store,
i18n,
render: h => h(App)
}).$mount("#app");
window.Pusher = require("pusher-js");
window.Echo = new Echo({
broadcaster: "pusher",
// key: process.env.MIX_PUSHER_APP_KEY,
host: "http://localhost:8000",
authEndpoint: "http://localhost:8000/broadcasting/auth",
key: "key",
// cluster: process.env.MIX_PUSHER_APP_CLUSTER,
cluster: "ap2",
forceTLS: true
});
这就是我尝试收听事件的方式
window.Echo.channel("Chat").listen("SessionEvent", e => {
let friend = this.friends.find(friend => friend.id === e.session_by);
friend.session = e.session;
this.listenForEverySession(friend);
});
谁能告诉我是什么问题?这是前端,laravel项目是后端
答案 0 :(得分:0)
在您的channels.php
中添加guards
Broadcast::channel('Chat', function ($user) {
return true;
}, ['guards' => 'web']); // add this guards
并删除authEndpoint
它应该自动检测