2017-08-24 2 views
3

J'essaie de savoir s'il est possible de télécharger un certificat client TLS à utiliser pour mes fonctions cloud dans Firebase. Le certificat client TLS est requis par une solution de paiement tierce appelée Swish.Télécharger le certificat client TLS aux fonctions cloud de Firebase

Ceci est mon premier projet firebase et il semble ridicule qu'un petit problème comme celui-ci rendra la plate-forme inutilisable pour moi ..

Répondre

3

Après quelques maux de tête et d'essayer, j'ai trouvé un moyen assez facile de résoudre les paiements Swish-through fonctions cloud:

utilisation request-js au lieu de la construction dans les bibliothèques, je ne ai besoin de construire les options objet à utiliser dans la méthode request.post() comme suit:

const swishOptions = { 
url: 'LINK TO SWISH SERVER', 
json: true, 
pfx: fs.readFileSync('cert.p12'), 
passphrase: 'swish', 
body: swishRequestBody 
} 

le cert.p12 fichier devrait être placé dans le sam e dossier comme index.js et sera téléchargé avec les fonctions.

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) 
       } 
     }); 

Le corps-objet doit contenir tous les champs spécifiés dans la Swish API, utiliser console.log() pour lire les messages d'erreur de la-Swish-serveur.