如何使用动态护照SAML策略?
How to use dynamic passport SAML stratagey?
我正在尝试为 google 实施 SAML 并为不同的企业实施 okta。现在,我有多个入口点。
passport.use(
"saml",
new SamlStrategy(
{
protocol: "https://",
entryPoint: "entry url", // SSO URL (Step 2)
issuer: "issuer link", // Entity ID (Step 4)
path: "ACS URL parth", // ACS URL path (Step 4)
},
async function (profile, done) {
{function body}
}
)
);
现在,如何根据用户每次都动态设置发行者 URL?
正如您提到的,您希望通过动态入口点或可以说多个。您可以通过 Configure strategy for multiple providers in passport-sml 来实现,这里有一个名为 getSamlOptions 的函数,您可以编写代码来获取动态数据来自数据库
例如:
passport.use("dynmaic-sml", new MultiSamlStrategy(
{
passReqToCallback: true, // makes req available in callback
getSamlOptions: async function (request, done) {
// get sso config from db and pass
return done(null, config);
}
},
function (req, profile, done) {
// logic after response
})
);
我正在尝试为 google 实施 SAML 并为不同的企业实施 okta。现在,我有多个入口点。
passport.use(
"saml",
new SamlStrategy(
{
protocol: "https://",
entryPoint: "entry url", // SSO URL (Step 2)
issuer: "issuer link", // Entity ID (Step 4)
path: "ACS URL parth", // ACS URL path (Step 4)
},
async function (profile, done) {
{function body}
}
)
);
现在,如何根据用户每次都动态设置发行者 URL?
正如您提到的,您希望通过动态入口点或可以说多个。您可以通过 Configure strategy for multiple providers in passport-sml 来实现,这里有一个名为 getSamlOptions 的函数,您可以编写代码来获取动态数据来自数据库
例如:
passport.use("dynmaic-sml", new MultiSamlStrategy(
{
passReqToCallback: true, // makes req available in callback
getSamlOptions: async function (request, done) {
// get sso config from db and pass
return done(null, config);
}
},
function (req, profile, done) {
// logic after response
})
);