我已经使用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();
});
无济于事......
答案 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/。