我有一个node.js / express webservice,我想用它来验证来自移动应用的Google令牌。
从本教程(https://developers.google.com/identity/sign-in/android/backend-auth)我了解到我必须打电话:
https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=XYZ123
所以我在我的代码中想出了这个:
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)
}
})
});
};
然后,根据google api的回复,我想返回true或false。
但它不起作用。当我在请求中放入“https://www.google.com”时,正在控制台中打印正文,但请求仍在执行一段时间。
我在这里缺少什么?对于我描述的问题是正确的方法还是应该以完全不同的方式进行?
答案 0 :(得分:-1)
您需要向传入的HTTP请求发送响应。
致电res.send(...)
。
有关详细信息,请参阅Express文档。