Php 推进器:不能';无法从您的Web应用程序获取身份验证信息:405 Laravel Vue api

Php 推进器:不能';无法从您的Web应用程序获取身份验证信息:405 Laravel Vue api,php,laravel,vuejs2,laravel-5.4,pusher,Php,Laravel,Vuejs2,Laravel 5.4,Pusher,我正在构建一个水疗中心,以laravel 5.4作为后端,vue js作为前端。我已经设置了laravel广播事件,它与localhost:8000/event配合得很好。“事件”是我设置广播的路线 现在的问题是当我将它连接到vuejs前端时 import Echo from "laravel-echo" window.Pusher = require('pusher-js'); window.Echo = new Echo({ broadcaster: 'pusher',

我正在构建一个水疗中心,以laravel 5.4作为后端,vue js作为前端。我已经设置了laravel广播事件,它与localhost:8000/event配合得很好。“事件”是我设置广播的路线

现在的问题是当我将它连接到vuejs前端时

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


window.Echo = new Echo({
    broadcaster: 'pusher',
    key: '********************',
    cluster: 'ap2',
    authEndpoint: 'http://localhost:8000/api/user/login',
    encrypted: false
});  

所有这些都在main.js文件中,我得到了这个错误

pusher.js?b3eb:593 POST http://localhost:8000/api/user/login 405 (Method Not Allowed)

pusher.js?b3eb:626 Pusher : Couldn't get auth info from your webapp : 405

这里我使用jwtauth作为身份验证系统。如何解决此问题?

routes/channels.php中,您需要添加

Broadcast::channel('testChannel1', function ($user) {
    return true;
});
您正在收听一个私人频道,要使其正常工作,您需要定义该私人频道的授权

当然,您可以将return语句更改为您需要的任何语句

如果您不希望此频道为私人频道,您可以更改:

window.Echo.private('testChannel1')


您好@milo526,您在匿名函数中从何处获得$user变量?我确实在channels.php中设置了广播频道,但我不能使用$user变量??我正在使用JWT如何设置授权?请看
window.Echo.private('testChannel1')
window.Echo.channel('testChannel1')