Passport.js Azure AD身份验证始终第二次失败

时间:2017-08-21 11:23:59

标签: node.js reactjs azure express passport.js

所以我在Express中使用Passport.js来验证使用passport-azure-oauth2策略的应用中的用户。

首次登录正常,Microsoft门户网站将我带回/ cb

app.get("/cb", auth.passport.authenticate("provider", {
    successRedirect: "/",
    failureRedirect: "/login"
}), function (req, res) {
    res.redirect("/");
});

它成功地将我重定向到'/'。此时我可以通过此

注销“登录”
if(req.isAuthenticated()) {
    console.log('Logged in');
} else {
    console.log('Not logged in');
}

当我注销并尝试重新登录或尝试使用其他浏览器登录时,会出现此问题。微软门户总是把我带回'/ login',让我陷入困境。

登录脚本只是:

app.get('/logout', function(req, res) {
    req.logout();
    res.redirect('/');
});

在Chrome上,当我登录(甚至成功)时,它会记录一个错误:     Set-Cookie header is ignored in response from url: https://login.microsoftonline.com/common/login. Cookie length should be less than or equal to 4096 characters.

我猜这个问题可能与此有关?但我已经尝试了所有我能想到的无济于事。

0 个答案:

没有答案