成功登录后,Azure身份验证将返回登录页面 - node.js

时间:2016-10-14 09:51:48

标签: node.js azure authentication passport.js

我有一个node.js应用程序并将其上传到Azure。我已将Active Directory支持包含在我们的应用程序中。使用“高级”选项,我已将客户端ID和所需的详细信息设置为应用程序。

在Node.js应用程序中,我使用了passport-azure-ad来验证用户身份。 我已经配置了客户端ID,密码,返回URL等,我使用下面的get方法调用azure身份验证。

app.get('/login', passport.authenticate('azuread-openidconnect', { failureRedirect: '/hello' }), function(req, res){
   res.sendFile(path.join(__dirname+'/views/index.html'));
});

当我部署代码并在azure中运行时,它首先将我带到azure登录页面,一旦我输入正确的电子邮件和密码,它再次将我重定向到登录页面。它也没有抛出任何错误..

请帮助避免此循环重定向到登录页面的过程。提前谢谢。

1 个答案:

答案 0 :(得分:0)

请检查您在配置和Azure AD应用程序配置中设置了returnURL的Url。完成身份验证后,它将返回此端点。

E.G。

您将returnURL设置为http://localhost:3000/auth/openid/return, 您需要检查路线/auth/openid/return,例如

app.get('/auth/openid/return',
  passport.authenticate('azuread-openidconnect', { failureRedirect: '/login' }),
  function(req, res) {
    log.info('We received a return from AzureAD.');
    res.redirect('/');
  });

在您的申请中。是否已重定向到登录页面,或者验证失败。