node.jsreact-nativeauthenticationpusherpusher-js

Unable to retrieve auth string from auth endpoint - received status: 500


I using react native and backend is node.I trying implement pusher in my app.

Object {
  "error": "Unable to retrieve auth string from auth endpoint - received status: 0 from http://10.0.27.124:8070/pusher/auth. Clients must be authenticated to join private or presence channels. See: https://pusher.com/docs/authenticating_users",
  "status": 0,
  "type": "AuthError",
}

Here is my react native code :

  const pusher = new Pusher('73286f08a5b2aeeea398', {
    cluster: 'ap1',
    authEndpoint: 'http://10.0.27.124:8070/pusher/auth',
  });
  console.log(pusher)
  const presenceChannel = pusher.subscribe('presence-channel');

Here is my node js code :

exports.authPusher = function (req, res) {
  const socketId = req.body.socket_id;
  const channel = req.body.channel_name;
  console.log(req.body);

  const presenceData = {
    user_id: 'unique_user_id',
    user_info: { name: 'Mr Channels', twitter_id: '@pusher' },
  };
  const auth = pusher.authenticate(socketId, channel, presenceData);
  res.send(auth);
};

Thank you for answering.


Solution

  • I think you just forgot to use quote marks around authEndpoint parameter. Pusher is trying to call http instead of http://10.0.27.124:8070/pusher/auth.

    const pusher = new Pusher('73286f08a5b2aeeea398', {
      cluster: 'ap1',
      authEndpoint: 'http://10.0.27.124:8070/pusher/auth',
    });
    

    If you open network tab on the web-developers toolbar of your browser, you must be able to see the actual request and debug it from there.