如何使用Perl为Firebase Cloud Messaging生成访问令牌?

时间:2019-01-23 14:41:05

标签: perl oauth-2.0 firebase-cloud-messaging

我目前正在开发一个应用程序,该应用程序应该通过Firebase Cloud Messaging接收推送通知。要从服务器发送通知,我使用Google(Documentation)的HTTP v1 API。

要访问此API,我必须获得一个访问令牌,它实际上是一个OAuth 2.0令牌。按照文档页面上的描述,我收到了service account.json文件,该文件的专用私钥存储在其他数据旁边。

现在服务器上几乎所有的模块,还有触发事件的模块,都是用perl编写的,因此,我面临着从该json创建一个有效的OAuth令牌(在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上没有找到适合我需求的模块。是否有人手头上有粘性来源或适当的自制解决方案?

0 个答案:

没有答案