Node.js 如何使用generateProviderServiceMetadata()处理passport saml
我有以下问题: 我想使用node.js和包为我的SSO服务提供者生成SAML元数据 此包包括“generateServiceProviderMetadata(decryptionCert)”方法,该方法将生成适合提供给身份提供商的服务提供商元数据文档 这需要解密证书 我应该使用哪种解密证书,即在哪里以及如何获取 据我所知,我需要的是:Node.js 如何使用generateProviderServiceMetadata()处理passport saml,node.js,certificate,metadata,saml,Node.js,Certificate,Metadata,Saml,我有以下问题: 我想使用node.js和包为我的SSO服务提供者生成SAML元数据 此包包括“generateServiceProviderMetadata(decryptionCert)”方法,该方法将生成适合提供给身份提供商的服务提供商元数据文档 这需要解密证书 我应该使用哪种解密证书,即在哪里以及如何获取 据我所知,我需要的是: privateCert: fs.readFileSync('./cert.pem', 'utf-8') 我在哪里可以得到“/cert.pem” 如有任何建
privateCert: fs.readFileSync('./cert.pem', 'utf-8')
我在哪里可以得到“/cert.pem”
如有任何建议和提示,将不胜感激 事实上,您需要为此生成自己的证书。如果您有私钥,您可以使用它生成证书文件:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout mykey.key -out certificate.crt
其中mykey.key是您现有的密钥,certificate.crt是新生成的证书,您应该作为参数传递给generateServiceProviderMetadata函数。
当然,首先需要使用fs.readFileSync将cert.加载到内存中
因此,以下是步骤:
1。生成.crt文件
2。将其加载到变量:var decryptionCert:fs.readFileSync('./certificate.crt',utf-8'中)
3。生成元数据文件,调用提供的函数:
myStrategy.generateServiceProviderMetadata(decryptionCert)那么对于上面的“passport saml”示例,我们如何从app.js调用generateServiceProviderMetadata?我已经准备好了步骤1和步骤2,但不确定用什么来替换“myStrategy”和您的示例。我尝试了
saml
因为这是config.js中定义的策略,我还使用了“SamlStrategy”和其他各种可能的选项。这是实例化新SamlStrategy时得到的策略对象。首先,创建一个新对象:var myStrategy=new saml.Strategy({//config parameters})然后,您可以将其传递给passport,但也可以稍后使用它来创建元数据:passport.use(myStrategy)代码>myStrategy.generateServiceProviderMetadata(decryptionCert)代码>它在哪里生成此文档?如果我创建了这个策略,然后调用这个方法,传入我用于privateCert值的同一个证书,我在stdio或生成的文件中都没有得到任何结果。我也尝试过使用证书arg@wkhatch如果有帮助的话,我只是在这里回答了这个问题:谢谢,@bmaupin。我最终把它打印到了控制台上,但看起来配置很轻,不太实用。我最终使用samltool.com为我们的idp生成了一个