我尝试使用以下React Native脚本验证私人广播。
public function pusher(Request $request){
$pusher = new Pusher(config('broadcasting.connections.pusher.key'), config('broadcasting.connections.pusher.secret'), config('broadcasting.connections.pusher.app_id'));
echo $pusher->socket_auth($request->channel_name, $request->socket_id);
}
上面的内容正在发布到下面的函数中,当从Postman测试时,下面的函数返回一个身份验证令牌。但是,当我通过React Native运行应用程序时,我得到以下响应。
{{1}}
[exp] Pusher:无法检索身份验证信息。必须对客户端进行身份验证才能加入私人或在线渠道。请参阅:https://pusher.com/docs/authenticating_users [exp] Pusher:对于推送者私人聊天1没有回调:subscription_error
这让我觉得Laravel没有收到帖子数据。我目前没有任何可以阻止请求的中间件。
谁能看到我哪里出错了?
答案 0 :(得分:2)
在encrypted: true
和 // Pusher Logging
Pusher.logToConsole = true;
// Initialization & Configuration
const pusher = new Pusher('****************', {
cluster: '***',
authEndpoint:
'http://domain/products/chat/public/api/authtest',
});
// Making Connection
pusher.connection.bind('connected', function (data) {
console.log(data.socket_id);
});
// Subscribe Channel
var channel = pusher.subscribe('private-channel-name', (data) => {
console.log('Subscribe Channel');
console.log(data);
});
// Accessing Channel
const channelInfo = pusher.channel('private-chatify');
console.log('channel Info');
console.log(channelInfo);
// Listen Event
channel.bind('yourevent', function (data) {
console.log('An event was triggered with message');
console.log(data);
console.log(data.message);
});
端,这对我都很好。我使用了以下代码。就我而言,我没有使用键{{1}}。
我正在成功监听事件。
代码
{{1}}
希望对您有帮助。