我已经在我的站点中实现了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);
});
}
));