Декодирование Javascript Base64 в неправильный вывод JSON - PullRequest
0 голосов
/ 24 сентября 2019

Я использую функцию Firebase Cloud для получения полезной нагрузки JSON в HTTP-запросе из App Store (уведомления от сервера к серверу), который содержит строку в кодировке Base64.Я декодирую, используя:

const latestReceipt = request.body.latest_receipt ? Buffer.from(request.body.latest_receipt, 'base64').toString() : null;

Это отлично работает в другой функции для декодирования сообщения, поступающего из магазина Google Play.Однако декодированная строка, полученная от Apple, является недопустимым объектом JSON.

{
"original-purchase-date-pst" = "2019-09-20 16:40:20 America/Los_Angeles";
"quantity" = "1";
"subscription-group-identifier" = "****";
"unique-vendor-identifier" = "****";
"original-purchase-date-ms" = "1569022820000";
"expires-date-formatted" = "2019-09-24 02:55:47 Etc/GMT";
"is-in-intro-offer-period" = "false";
"purchase-date-ms" = "1569293447000";
"expires-date-formatted-pst" = "2019-09-23 19:55:47 America/Los_Angeles";
"is-trial-period" = "false";
"item-id" = "1478806339";
"unique-identifier" = "******";
"original-transaction-id" = "1000000570864027";
"expires-date" = "1569293747000";
"transaction-id" = "1000000571530192";
"bvrs" = "11";
"web-order-line-item-id" = "1000000047099385";
"version-external-identifier" = "0";
"bid" = "****";
"product-id" = "storage_increase";
"purchase-date" = "2019-09-24 02:50:47 Etc/GMT";
"purchase-date-pst" = "2019-09-23 19:50:47 America/Los_Angeles";
"original-purchase-date" = "2019-09-20 23:40:20 Etc/GMT";
}

Я предполагаю, что я делаю что-то не так, но я не уверен, что именно.Я не ожидаю, что App Store отправит недействительный JSON.

...