我正在尝试确定是否可以上传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服务器读取错误消息。

09-27 03:29