首页 > 解决方案 > allAuthenticatedUsers 用于 cloudFunction 发送推送通知:perl 客户端代码

问题描述

我编写了一个名为send_push. 它基本上从 perl 脚本接收有效负载,并通过 FCM 向提供的令牌发送推送通知。在未经身份验证的模式下对其进行了测试,一切正常。这个“perl 脚本”是开源的。人们下载该 perl 脚本并使用它向我的移动应用程序(他们从应用程序/播放商店购买)发送通知。很明显,perl 脚本不能与我的任何秘密或服务帐户一起提供。

我现在想向该云功能添加身份验证。我的目标是让任何使用自己的凭据登录 google 的用户都可以调用我的函数。为了实现这一点,我已经https://console.firebase.google.com/u/0/project/<myproject>/authentication/providers启用并启用了“电子邮件/密码”和“谷歌”,希望任何使用电子邮件/密码或直接通过谷歌登录注册的人都可以调用我的函数。我还启用allAuthenticatedUsers了我的send_push功能并删除了allUsers

我是否做出了正确的假设?我一直在循环尝试解析云功能身份验证文档

如果我做出了正确的假设,我可以在 perl 脚本端使用哪些库来提示用户输入他们的登录凭据(通过 google 或电子邮件注册),然后使用该数据生成和刷新令牌?他们不会gcloud安装,所以我不能做$(gcloud auth print-identity-token)身份验证之类的事情,我认为无论如何都是针对开发人员的。

请注意,示例云身份验证代码显示了我的端点如何针对已向 _my_app 注册的 firebase 用户进行身份验证。这不是我想要的。

标签: firebaseperlgoogle-cloud-functions

解决方案


推荐阅读