使用React Native和Laravel后端验证Pusher

时间:2018-03-01 19:04:53

标签: javascript laravel reactjs react-native pusher

我尝试使用以下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没有收到帖子数据。我目前没有任何可以阻止请求的中间件。

谁能看到我哪里出错了?

1 个答案:

答案 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}}

希望对您有帮助。