gpt4 book ai didi

通过 API 进行 Laravel Echo 身份验证

转载 作者:行者123 更新时间:2023-12-03 20:40:38 25 4
gpt4 key购买 nike

使用 Pusher结合 Echo在客户端,我正在尝试使用 Bearer 通过 api 验证私有(private) channel 授权 header token - 但是我遇到了以下日志 (最后的日志是错误的) :

Pusher : : ["State changed","initialized -> connecting"]


Pusher : :["Connecting",{"transport":"ws","url":"ws://ws-mt1.pusher.com:80/app/************?protocol=7&client=js&version=7.0.3&flash=false"}]


Pusher : : ["State changed","connecting -> connected withnew socket ID 224550.32180982"]


Pusher : : ["No callbackson private-App.User.17 for pusher:subscription_error"]


Pusher : : ["Error: JSON returned from auth endpoint wasinvalid, yet status code was 200. Data was: <!doctype html>\n<htmlclass="en" lang="en">\n\t\n\t\t\t<metacharset="utf-...


好像我的服务器只是返回网页而不是 JSON 响应。
这是我的客户端设置:
Pusher.logToConsole = true

const PusherClient = new Pusher(PUSHER_APP_KEY,{
cluster: PUSHER_APP_CLUSTER,
wsHost: `ws-${PUSHER_APP_CLUSTER}.pusher.com`,
wssPort: 443,
enabledTransports: ['ws'],
forceTLS: true,
encrypted: true,
auth: {
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`
}
},
authEndpoint: http://127.0.0.1:8000/api/broadcasting/auth'
});

return new Echo({
broadcaster: 'pusher',
client: PusherClient
})
api.php 中定义的广播路由在 Laravel 服务器上:
Route::group(['middleware' => 'auth:api'], function () {
Broadcast::routes();
});
enter image description here
我在这里想念什么?

最佳答案

首先,您可以在没有 laravel-echo 的情况下设置客户端,只需使用 pusher-js。在我使用的版本中不应该有 Content-Type header :

    auth: {
headers: {
'Authorization': `Bearer CLIENT_TOKEN`,
}

},
您必须确保 channel 您正在订阅可用并且所有推送者 应用参数还有 用户 token 正确插入。

关于通过 API 进行 Laravel Echo 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67245572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com