0

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.

1 Answers1

1

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.

A.S
  • 236
  • 1
  • 3