簡體   English   中英

如何保護laravel-echo-server連接

[英]how to secure laravel-echo-server connectivity

我使用socket.io和laravel-echo-server通過公共頻道向所有客戶端發送我的事件,但我只想讓我的客戶(比如我的移動應用程序和網絡應用程序)能夠連接到laravel-echo-server,不是其他人,比如帶有應用密鑰和秘密詞的推送系統,我該怎么做?

更新:最后,我必須使用私人頻道和移動客戶端一切正常,但在網絡應用程序(管理面板)laravel-echo-server無法連接到頻道並通過csrf-token進行授權。 這是我的代碼: 在標題中:

<meta name="csrf-token" content="{{ csrf_token() }}">

在javascript中:

Echo.private('channel')
            .listen('event', (e) => {
                console.log(e);
            });

https://laravel.com/docs/5.8/broadcasting#authorizing-channels

私人頻道要求您授權當前經過身份驗證的用戶可以實際收聽頻道。 這是通過使用通道名稱向您的Laravel應用程序發出HTTP請求並允許您的應用程序確定用戶是否可以偵聽該通道來實現的。 使用Laravel Echo時,將自動進行授權訂閱私人頻道的HTTP請求; 但是,您需要定義響應這些請求的正確路由。

這有點牽扯,但相當簡單。 文檔將指導您設置正確的路由,Echo配置等。

如果您運行client:add而沒有app id參數,將為您生成一個。 運行此命令后,將顯示客戶機ID和密鑰並將其存儲在laravel-echo-server.json文件中。

在此示例中,只要app id和key都提供了HTTP請求,就會允許請求。

Request Headers

Authorization:  Bearer skti68i...

or

http://app.dev:6001/apps/APP_ID/channels?auth_key=skti68i...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM