7

我试图弄清楚是否可以上传 TLS 客户端证书以用于我在 firebase 中的云功能。名为Swish的第三方支付解决方案需要 TLS 客户端证书。

这是我的第一个 firebase 项目,像这样的小问题会使平台对我无法使用似乎很愚蠢。

4

1 回答 1

7

经过一番头痛和尝试后,我找到了一种通过云功能解决swish-payments的简单方法:

使用request-js而不是内置库,我只需要构建选项对象以在 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)
                }
        });

body-object 应该包含Swish API中指定的所有字段,使用 console.log() 从 Swish-server 读取错误消息。

于 2017-11-28T12:34:18.323 回答