将TLS客户端证书上载到Firebase云功能

时间:2017-08-24 08:21:01

标签: firebase ssl google-cloud-functions tls1.2 swish

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

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

1 个答案:

答案 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读取错误消息。