我正在尝试确定是否可以上传TLS客户端证书以用于Firebase中的云功能。名为Swish的第三方支付解决方案需要TLS客户端证书。
这是我的第一个firebase项目,像这样的小问题会使该平台无法使用,这似乎很可笑。
最佳答案
经过一番头痛和尝试之后,我发现了一种非常简单的方法来通过云功能解决杂费支付:
使用request-js而不是内置库,我只需要构建options对象以在request.post()方法中使用,如下所示:
const swishOptions = {
url: 'LINK TO SWISH SERVER',
json: true,
pfx: fs.readFileSync('cert.p12'),
passphrase: 'swish',
body: swishRequestBody
}
cert.p12文件应与index.js放在同一文件夹中,并将与函数一起上传。
rq.post(swishOptions, (err, res) => {
if (err){
console.log('payment creation error: ' + JSON.stringify(err))
reject(err)
}
if (res){
console.log('Payment-token: ' + res.headers.paymentrequesttoken)
}
});
主体对象应包含Swish API中指定的所有字段,请使用console.log()从Swish服务器读取错误消息。