2016-02-09 3 views
0

J'ai un service web node.js/express que je souhaite utiliser pour vérifier le jeton Google provenant d'une application mobile.Authentification Google Token avec node.js et express.js

De ce tutoriel (https://developers.google.com/identity/sign-in/android/backend-auth) J'ai appris que je dois faire un appel:

https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=XYZ123 

Alors je suis venu avec dans mon code:

var request = require('request'); 

module.exports = function(app) { 

app.get('/authenticate', function(req, res) { 

    request('https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=XYZ123', function (error, response, body) { 
     if (!error && response.statusCode == 200) { 
      console.log(body) 
     } 
    }) 
}); 
}; 

Ensuite, sur la base réponse de google api, je voudrais retourner vrai ou faux.

Mais cela ne fonctionne pas. Lorsque je mets "https://www.google.com" dans la requête, le corps est imprimé dans la console, mais la requête est encore en cours d'exécution pendant un certain temps.

Qu'est-ce qui me manque ici? L'approche correcte du problème que j'ai décrit est-elle ou devrais-je le faire d'une manière complètement différente?

+0

Ce problème a été corrigé? –

+0

Oui, je pense que je n'ai pas défini l'application Content-type/json pour la requête. – CorrieSparrow

Répondre

-1

Vous devez envoyer une réponse à votre demande HTTP entrante.

Appelez res.send(...).

Pour plus d'informations, voir la documentation Express.