【问题标题】:Pusher : Couldn't get auth info from your webapp : 405 Laravel Vue apiPusher:无法从您的 webapp 获取身份验证信息:405 Laravel Vue api
【发布时间】:2017-09-23 14:48:51
【问题描述】:

我正在构建一个以 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
});  

created(){
        window.Echo.private('testChannel1')
        .listen('TaskEvent', (e) => {
            console.log(e);
        });
    }

所有这些都在 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

这里我使用 jwt auth 作为认证系统。我该如何解决这个问题?

【问题讨论】:

    标签: php laravel vuejs2 laravel-5.4 pusher


    【解决方案1】:

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

    Broadcast::channel('testChannel1', function ($user) {
        return true;
    });
    

    您正在收听私人频道,为此您需要定义该私人频道的授权。

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

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

    window.Echo.private('testChannel1')
    

    window.Echo.channel('testChannel1')
    

    【讨论】:

    • 嗨@milo526,你是从哪里获得匿名函数中的$user 变量的?我确实在 channels.php 中设置了广播频道,但我没有做 $user 变量?我正在使用 jwt
    • 如何设置授权?
    • 看看here
    猜你喜欢
    • 1970-01-01
    • 2020-12-23
    • 2023-03-22
    • 1970-01-01
    • 2013-11-28
    • 2018-01-21
    • 1970-01-01
    • 1970-01-01
    • 2011-10-06
    相关资源
    最近更新 更多