我正在试图弄清楚是否可以上传一个TLS客户端证书,用于我在firebase中的云功能。名为Swish的第三方付款解决方案需要TLS客户端证书。
这是我的第一个firebase项目,像这样的小问题会让平台无法使用,这似乎很愚蠢。
答案 0 :(得分:5)
经过一番头痛和尝试后,我找到了一种通过云功能解决swish-payments的简单方法:
使用request-js代替内置库,我只需构建要在request.post()方法中使用的options对象,如下所示:
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)
}
});
body-object应包含Swish API中指定的所有字段,使用console.log()从Swish-server读取错误消息。