title: pusher authentication socket id undefined
body: <p>I'm trying to create a private channel to allow users to send data to my node.js server. The request is failing, and returning a pusher:subscription_error with an error code of 500. </p>
  
  <p>My node.js (server side) log cannot pull the socket_id from the incoming request to '/pusher/auth'</p>
  
  <pre><code>app.post( '/pusher/auth', function( req, res ) {
    var socketId = req.body.socket_id;//&lt;--DEBUG: TypeError: Cannot read property 'socket_id' of undefined
  
    var channel = req.body.channel_name;
    var presenceData = {
      user_id: 'unique_user_id',
      user_info: {
        name: 'Mr Pusher',
        twitter_id: '@pusher'
      }
    };
    var auth = pusher.auth( socketId, channel, presenceData );
    res.send( auth );
  } );
  </code></pre>
  
  <p>Here is the client side which sends the request:</p>
  
  <pre><code>   // Create new Pusher instance and connect
          var key = "&lt;%= appKey %&gt;"  
          var id = "&lt;%= appKey %&gt;"  
          var secret = "&lt;%= appSecret %&gt;"  
          var pusher = new Pusher( "&lt;%= appKey %&gt;" );
  
  // Subscribe to the channel that the event will be published on
  var channel = pusher.subscribe( 'private-channel' );
      channel.bind('pusher:subscription_succeeded',function(){
              alert("subscription succeeded")
              var triggered = channel.trigger("client-event",{})
              alert("triggered "+triggered)
      })
      channel.bind('pusher:subscription_error',function(status){
              alert("subscription error "+status)//&lt;-- This error gets returned
      })
  // Bind to the event on the channel and handle the event when triggered
  channel.bind( 'client-event', function( data ) {
    // For now, alert the message.
    alert( data.message );
  } );
  </code></pre>
  
  <p>Should this be automatically handled by the pusher API, or do I need to explicitly send it?
  How can I send the socket_id to the server? 
  How can I even access the socket_id variable on the client? </p>