Как создать токен доступа для Firebase Cloud Messaging с помощью Perl? - PullRequest
0 голосов
/ 23 января 2019

Я сейчас занимаюсь разработкой приложения, которое должно получать push-уведомления через Firebase Cloud Messaging. Для отправки уведомлений с сервера я использую HTTP v1 API от Google ( Documentation ).

Чтобы получить доступ к этому API, мне нужно получить токен доступа , который буквально является токеном OAuth 2.0. После описания на странице документации я получил свой service account.json файл, в котором обязательный закрытый ключ хранится рядом с другими данными.

Теперь почти все модули на сервере, а также модули, инициирующие события, написаны на Perl, поэтому я сталкиваюсь с проблемой создания действительного OAuth-токена из этого json, который выглядит примерно так в Perl:

{
  "type": "service_account",
  "project_id": "project-id",
  "private_key_id": "some_number",
  "private_key": "-----BEGIN PRIVATE KEY-----\n"very unreadable key"
  =\n-----END PRIVATE KEY-----\n",
  "client_email": "<api-name>api@project-id.iam.gserviceaccount.com",
  "client_id": "...",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://accounts.google.com/o/oauth2/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/...<api-name>api%40project-id.iam.gserviceaccount.com"
}

Я все еще новичок в Perl и не нашел модуль на CPAN, который подходит для моих нужд. У кого-нибудь есть источник липкой жидкости под рукой или правильное самодельное решение?

...