在Azure webapp服务器中获取Google Plus用户access_token

时间:2016-04-19 22:51:59

标签: node.js azure express oauth google-plus

我已经使用Express设置了一个成功运行Node.JS的Azure webapp,并使用内置的Azure Google"身份验证/授权"添加了Google Plus身份验证。使用SSL可以正常运行身份验证过程,并且我可以让用户通过身份验证。

现在, 我知道auth进程正在使用用户access_token调用https://mysite.azurewebsites.net/.auth/login/google/callback以用于将来的API调用,但在这种情况下,Azure"截取"它(而不是通常会发生的事情 - 我会在我赢得的服务器上得到它)。

问题是 - 是否有任何理由在服务器上获取和使用此令牌?

我尝试添加到.auth / login / google / callback的路由以及一些获取代码的路径

router.get('/.auth/login/google/callback', function (req, res, next) {
    console.log("CALLBACK");
    next();
});

无济于事......

1 个答案:

答案 0 :(得分:2)

来自Google +的身份验证信息将在请求标头中设置。如果您在路由器函数中列出您的请求标头,例如: res.send(JSON.stringify(req.headers));

您可以在标题中设置身份验证信息,前缀为x-ms-token-google-

有关详细信息,请参阅https://azure.microsoft.com/en-us/documentation/articles/app-service-api-authentication/

同时,您只需向站点上的/.auth/me端点发出GET,即可检索其他用户信息以及图形调用所需的任何令牌。有关详细信息,请参阅https://azure.microsoft.com/en-us/blog/announcing-app-service-authentication-authorization/