firebase - 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 用户进行身份验证。这不是我想要的。
解决方案
推荐阅读
- javascript - 抓取网站链接后删除不必要的字符串。- Discord.JS
- python - 如何在使用 project.toml 而不是 setup.py 的插件中指定烧瓶入口点
- amazon-web-services - 在 MediaConvert 中完成工作后如何检索编码文件和路径的列表?
- python - 试图从视图中刷新 django 中的页面不起作用
- python-3.x - 如何在ursina引擎中将Button实体从一个地方动画到另一个地方?
- java - Spring Batch java.sql.SQLRecoverableException:IO 错误:连接重置
- android - 如何在 Firestore 分页适配器中实现进度条?
- java - 在新的 Eclipse 中打开项目时出错
- f# - F# 是否支持“按名称调用”语义?
- classification - 在 SVM 中的 predict/decision_function 之前标准化 test_data