0

我正在尝试使用带有 laravel-echo 的 vue cli 项目创建一个聊天应用程序。但是由于 419 未知状态 /broadcasting/auth 出现错误。这是我的 main.js 文件

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 项目是后端

这是我得到的错误

4

1 回答 1

0

in your channels.php add guards

Broadcast::channel('Chat', function ($user) {
    return true;
}, ['guards' => 'web']); //  add this guards

and remove authEndpoint it should auto detect

于 2020-09-18T10:24:22.170 回答