gpt4 book ai didi

来自多个身份提供者的 Node.js Passport SAML

转载 作者:搜寻专家 更新时间:2023-10-31 22:59:44 28 4
gpt4 key购买 nike

我已经实现了 Passport-SAML进入我的站点,现在我的任务是将我们的站点与另外两个身份提供者连接起来。在我的代码中,它似乎只使用了 SamlStrategy 的最新定义。如何设置 Passport 以允许同一策略的多个不同实现?

我的实现是这样的:

passport.use(new SamlStrategy(
{
path: '/saml',
entryPoint: "https://idp.identityprovider.net/idp/profile/SAML2/Redirect/SSO",
issuer: 'https://www.serviceprovider.com/saml',
identifierFormat: 'urn:domain:safemls:nameid-format:loginid'
},
function(profile, done) {
console.log("SamlStrategy done", profile)
User.findOne({email:profile.Email}, function(err, user) {
if (err) {
return done(err);
}
if(!user) return done(null, false, {message: 'No account associated with this email.'})
return done(null, user);
});
}
));

最佳答案

你可以给每个策略一个名字

passport.use('config1', new SamlStrategy(..), callback);
passport.use('config2', new SamlStrategy(..), callback);

然后

app.post('/login/callback',
function(req, res) {
var config = // extract config name somehow
passport.authenticate(config, { failureRedirect: '/', failureFlash: true })();
}
function(req, res) {
res.redirect('/');
}
);

关于来自多个身份提供者的 Node.js Passport SAML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18155611/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com