Laravel广播/ WebSockets:仅连接已登录的用户

时间:2019-06-30 11:18:16

标签: laravel websocket broadcasting

我设置了Laravel WebSockets。我的网站仅为登录的用户提供实时/ WebSockets功能。因此也无需将访客连接到我的WebSockets服务器。如何阻止访客连接?

1 个答案:

答案 0 :(得分:0)

我建议您使用SocketIO,Laravel Echo和Laravel Echo Server。

获取用户访问令牌,将其存储在cookie或网络存储(localStorage或sessionStorage)中,并在实例化Laravel echo时注入它:

let Echo = require('laravel-echo')

window.Echo = new Echo({
        broadcaster: 'socket.io',
        host: window.location.hostname + ':3434'
        auth: {
            headers: {
                 Authorization: 'Bearer ' + AUTH_TOKEN,
            },
        },
    });

以下是您需要的链接:

https://laravel.com/docs/5.8/broadcasting#driver-prerequisites https://github.com/tlaverdure/laravel-echo-server