我的应用程序需要与SAML IDP集成,我使用的是用于node.js的passport-saml,下面是配置
passport.use(new SamlStrategy(
{
issuer: 'http://192.168.1.5/assert',
entryPoint: 'https://wwww.aa.com/webservices/public/saml2sso?SPID=http://192.168.1.5/metadata.xml',
callbackUrl: 'http://192.168.1.5/assert',
decryptionPvk:fs.readFileSync(path.resolve(__dirname, '..', 'certs') + "/cert.pem").toString(),
privateCert: fs.readFileSync(path.resolve(__dirname, '..', 'certs') + "/key.pem").toString(),
cert: [fs.readFileSync(path.resolve(__dirname, '..', 'certs') + "/dev.cer").toString()],
},
function (profile, done) {
return done(null, profile);
}
))我知道证书参数是来自IDP的证书(公钥),但是privateCert和decryptionPvk是什么呢?我将私钥key.pem作为privateCert传递,将公钥(cert.pem)作为decryptionPvk传递,但它不起作用。我使用以下命令生成密钥和证书: openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -days 900
发布于 2016-09-26 21:50:44
你应该看看这个thread,如果你还没有的话
您只附加了代码的配置部分,但我猜authentication callback部分已经正确实现了。至于'cert‘属性,我认为您应该根据passport-cert.pem文档示例提供’cert‘的内容。
发布于 2020-08-25 02:21:47
我认为现在回答有点晚了,但在我们将身份验证请求发送到IdP之前,这两个选项都用于加密身份验证请求。所以你必须把你的私钥都加进去。
{decryptionPvk: privateKey, privateCert: privateKey}https://stackoverflow.com/questions/39702580
复制相似问题