所以我在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.
我猜这个问题可能与此有关?但我已经尝试了所有我能想到的无济于事。