Node.js Passport正在强制/登录/回调nodejs
我为nodejs设置了passport。我也在使用azure ad,它正在正确验证并呈现我的登录页,但问题是每次我尝试单击新链接或在url中输入路径时,它都会将我重定向到该路径,但前面有/login,因此我从未真正进入该新页-就像这样(localhost:3000/login/catalog,而不是just/catalog)。如果以前有人遇到过此问题,请告诉我!谢谢:) 这是我的密码。提前谢谢Node.js Passport正在强制/登录/回调nodejs,node.js,azure,authentication,azure-active-directory,passport.js,Node.js,Azure,Authentication,Azure Active Directory,Passport.js,我为nodejs设置了passport。我也在使用azure ad,它正在正确验证并呈现我的登录页,但问题是每次我尝试单击新链接或在url中输入路径时,它都会将我重定向到该路径,但前面有/login,因此我从未真正进入该新页-就像这样(localhost:3000/login/catalog,而不是just/catalog)。如果以前有人遇到过此问题,请告诉我!谢谢:) 这是我的密码。提前谢谢 var SamlStrategy = require('passport-saml').Stra
var SamlStrategy = require('passport-saml').Strategy;
passport.use(new SamlStrategy(
{
path: '/login/callback',
entryPoint: 'https://login.microsoftonline.com/...',
issuer: '...'
},
function(profile, done) {
findByEmail(profile.email, function(err, user) {
if (err) {
return done(err);
}
return done(null, user);
});
})
);
app.post('/login/callback',
function(req, res) {
console.log('inside /login/callback')
//after login, goes here, but renders back to login/callback. then back here.
res.render('index.ejs')
}
);
app.get('/login',
passport.authenticate('saml', { failureRedirect: '/', failureFlash: true }),
function(req, res) {
console.log("inside azuread /login get passport saml")
res.render('index.ejs')
}
);
请查看以下内容以供参考:
app.get("/login",
passport.authenticate("saml", (err, profile) => {
// control will not come here ????
console.log("Profile : ", profile);
})
);
app.post("/login/callback",
(req, res, next) => {
passport.authenticate("saml", { session: false }, (err, user) => {
req.user = user;
next();
})(req, res, next);
},
RouteHandler.sendResponse
);