Passport强制/ login / callback nodejs

问题描述

我为nodejs设置了护照。我也正在使用azure广告,它可以正确验证身份并呈现我的目标网页,但是问题是每次我尝试单击新链接或在url中输入路径时,它都会将我重定向到该路径,但是/ login放在它的前面,所以我从来没有真正进入过这个新页面-像这样(localhost:3000 / login / catalogue,而不仅仅是/ catalogue)。请让我知道以前是否有人遇到过此问题!谢谢:)

这是我的代码。预先感谢!

   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 }),res) {
      console.log("inside azuread /login get passport saml")
     res.render('index.ejs')
  }



 );

解决方法

查看此内容以供参考:

您可能必须更改您的路线代码:

search = input()
url= f'https://www.digikala.com/search/?q={search}'