我正在尝试确定是否可以上传 TLS 客户端证书以用于我在 firebase 中的云功能。名为 Swish 的第三方支付解决方案需要 TLS 客户端证书.
这是我的第一个 firebase 项目,像这样的小问题会让我无法使用该平台,这似乎很愚蠢。
最佳答案
经过一些头痛和尝试后,我找到了一种通过云函数解决 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)
}
});
主体对象应包含 Swish API 中指定的所有字段,使用 console.log() 从 Swish 服务器读取错误消息。
关于firebase - 将 TLS 客户端证书上传到 Firebase 云函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45856469/