Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何使用generateProviderServiceMetadata()处理passport saml_Node.js_Certificate_Metadata_Saml - Fatal编程技术网

Node.js 如何使用generateProviderServiceMetadata()处理passport saml

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” 如有任何建

我有以下问题:

我想使用node.js和包为我的SSO服务提供者生成SAML元数据

此包包括“generateServiceProviderMetadata(decryptionCert)”方法,该方法将生成适合提供给身份提供商的服务提供商元数据文档

这需要解密证书

我应该使用哪种解密证书,即在哪里以及如何获取

据我所知,我需要的是:

  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.use(myStrategy)
myStrategy.generateServiceProviderMetadata(decryptionCert)它在哪里生成此文档?如果我创建了这个策略,然后调用这个方法,传入我用于privateCert值的同一个证书,我在stdio或生成的文件中都没有得到任何结果。我也尝试过使用证书arg@wkhatch如果有帮助的话,我只是在这里回答了这个问题:谢谢,@bmaupin。我最终把它打印到了控制台上,但看起来配置很轻,不太实用。我最终使用samltool.com为我们的idp生成了一个