我目前面临以下情况。
通过Google API端点通过HttpCall发送Firebase消息:
https://fcm.googleapis.com/v1/projects/projectName/messages:send
在这里,我们必须将OAuth2.0与有效的承载令牌一起使用,如本问题中所述:
What Bearer token should I be using for Firebase Cloud Messaging testing?
遵循这些步骤后,我能够通过Google API发送Firebase消息。
现在我想通过HttpCall获取承载令牌,而不需要使用Playground https://developers.google.com/oauthplayground执行手动步骤。
我找不到任何关于如何通过简单的HttpCall“交换令牌的授权代码”的文档。我不可能实现任何代码,因为我想在“云流”中发送Firebase消息,因此不可能加载任何外部DLL(如Firebase Admin Dll,它将实现此功能)。
任何帮助都很感激
2条答案
按热度按时间v09wglhw1#
下面的代码是一个Postman Pre-Request Script,它安装在你的API集合中,包含你正在测试的路由。它的目的是将静态凭证(如电子邮件密码组合或服务帐户密钥)转换为API调用所使用的访问令牌。
模拟用户
要使用它来代表用户进行测试,您需要在请求上添加一个
X-Auth-Token-Type: user
头(由下面的脚本使用和删除),并且您需要设置以下环境变量:| 姓名|价值|
| --------------|--------------|
|
firebase_apiKey
|Firebase API Key for a web application||
firebase_test_user
|用于测试的帐户的电子邮件||
firebase_test_password
|用于测试的帐户的密码|模拟服务账号(慎用!)
要代表服务帐户使用它进行测试,您需要在请求上添加
X-Auth-Token-Type: admin
头(由下面的脚本使用和删除),并且您需要设置以下环境变量:| 姓名|价值|
| --------------|--------------|
|
firebase_privateKey
|private_key
在Service Account Key中的值**重要提示:**为了安全起见,请不要为该变量设置“初始值”!||
firebase_scope
(可选)|要对其进行身份验证的作用域列表,以空格分隔。**注意:**如果省略,则使用默认的Admin SDK作用域|预请求脚本
5uzkadbs2#
您可以使用您的firebase服务帐户从OAuth访问令牌获得有效的承载令牌。使用您的Service Account凭据从您的Firebase控制台。如果在您的环境中可能,我建议使用OAuth 2选项,您可以在这里找到:https://firebase.google.com/docs/database/rest/auth#authenticate_with_an_access_token
否则,您将不得不铸造凭证,这将提供一个访问令牌,这将是一个有效的承载令牌。
需要注意的是,这仅提供以下语言版本:
https://firebase.google.com/docs/cloud-messaging/auth-server#use-credentials-to-mint-access-tokens