curl req в функции firebase req - PullRequest
0 голосов
/ 27 апреля 2018

Здравствуйте. Я следую инструкциям по осуществлению платежа шифрования от Adyen. Я использую Firebase в качестве моего бэкэнда. Теперь Dokumentation хочет, чтобы я сделал бэкэнд-запрос следующим образом:

 curl -u "ws@Company.SomeCompany":"SomePassword" \ 
   -H "Content-Type: application/json" \
    -X POST \ 
   --data \ 
   '{
           "additionalData": {
               "card.encrypted.json":"adyenjs_0_1_4p1$..."
           },

           "amount" : {
               "value" : 10000,
               "currency" : "EUR"
           },

           "reference" : "Your Reference Here",
           "merchantAccount" : "TestMerchant"    }'\
    https://pal-test.adyen.com/pal/servlet/Payment/v30/authorise

Может кто-нибудь помочь мне преобразовать этот запрос curl в запрос функций firebase? Например:

exports.helloWorld = (req, res) => {

  if (req.body.message === undefined) {
    // This is an error case, as "message" is required
    res.status(400).send('No message defined!');
  } else {
    // Everything is ok
    console.log(req.body.message);
    res.status(200).end();
  }
};

1 Ответ

0 голосов
/ 27 апреля 2018

Вам необходимо передать свои учетные данные Adyen как данные в запросе HTTP post. Добавьте токен пользователя Firebase в качестве токена Bearer в токен Authroization. Так что теперь ваша функция будет:

 exports.helloWorld = (req, res) => {
       // check authorization of firebase.
   if (!req.headers.authorization || !req.headers.authorization.startsWith('Bearer ')) {
            res.status(403).send('Unauthorized');
            return;
   }
   const idToken = req.headers.authorization.split('Bearer ')[1];
   this.admin.auth().verifyIdToken(idToken).then(decodedIdToken => {
     // new read the data like below
    //  req.body.username , req.body.additionalData
  })

};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...