title: Parse-server social login
body: <p>I am developing application based on Parse-server and I want to offer social login. I found this guide in the documentation <a href="http://docs.parseplatform.org/js/guide/#linking-users" rel="nofollow noreferrer">http://docs.parseplatform.org/js/guide/#linking-users</a>.</p>
  
  <p>I started to implement the social login by google. I did following steps:</p>
  
  <p>1) I added following lines to the ParseServer settings</p>
  
  <pre><code>var api = new ParseServer({
  ...
      auth:{
          google: {}
      },
  ...
  });
  </code></pre>
  
  <p>2) I did the authentication by hello.js on the client side (call user._linkWith function on login)</p>
  
  <pre><code>hello.init({
    google: 'My Google id'
  });
  
  hello.on('auth.login', function(auth) {
    // Call user information, for the given network
    hello(auth.network).api('me').then(function(r) {
      const user = new Parse.User();
      user._linkWith(auth.network, auth.authResponse).then(function(user){
        console.log('You are logged in successfully.');
      });
    });
  });
  </code></pre>
  
  <p>When I debugged it, I found that it fails in <strong>_linkWith()</strong>  function, when provider object is preparing. Object AuthProviders, which should store all providers, is empty. Because of it the statement <strong>provider = authProviders['google'];</strong> leads to undefined. Invoking <strong>provider.authenticate(...);</strong> leads to error "Cannot read property 'authenticate' of undefined"</p>
  
  <p>What am I missing or what am I doing wrong?</p>
  
  <p>Thanks for all your answers.</p>
  
  <p>Honza</p>