【发布时间】:2018-02-02 00:46:40
【问题描述】:
我正在尝试确定是否可以上传 TLS 客户端证书以用于我在 firebase 中的云功能。名为 Swish 的第三方支付解决方案需要 TLS 客户端证书。
这是我的第一个 firebase 项目,像这样的小问题会使平台对我无法使用似乎很愚蠢..
【问题讨论】:
标签: firebase ssl google-cloud-functions tls1.2 swish
我正在尝试确定是否可以上传 TLS 客户端证书以用于我在 firebase 中的云功能。名为 Swish 的第三方支付解决方案需要 TLS 客户端证书。
这是我的第一个 firebase 项目,像这样的小问题会使平台对我无法使用似乎很愚蠢..
【问题讨论】:
标签: firebase ssl google-cloud-functions tls1.2 swish
经过一番头疼和尝试后,我找到了一种通过云功能解决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-file应该和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 读取错误消息。
【讨论】: