首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向设备发送FCM消息而不对发送者进行身份验证?

向设备发送FCM消息而不对发送者进行身份验证?
EN

Stack Overflow用户
提问于 2021-04-15 18:23:40
回答 1查看 68关注 0票数 0

这可能是一个奇怪的问题,但是:

我有一个外部服务器,它需要向Android和iOS设备发送通知,因为firebase是我使用它所需的后台通知的唯一方式。

现在,服务器高度安全,不允许来自任何IP的传入连接。我仍然需要发送FCM消息。在文档中,我们必须对发送者进行身份验证(这显然是不可能的,因为这将需要双向连接)。

是否有可能在不进行任何身份验证的情况下发送消息?就像公共帖子一样?

或者如果不是。有没有一种方法,我可以重用相同的私钥进行身份验证,这样我仍然可以在不需要传入连接的情况下触发和忘记?

对于那些感兴趣的原因:我们只发送可能发生变化的数据通知(触发器),真正的安全连接通过单独的通道在后台发生,而不是firebase。Firebase只是更改的触发器,以避免轮询后端

编辑:

这段代码可以实际用作fire-and-forget

代码语言:javascript
复制
    FileInputStream serviceAccount = new FileInputStream(SERVICE_ACCOUNT_FILE);

    FirebaseOptions options = FirebaseOptions.builder()
        .setCredentials(GoogleCredentials.fromStream(serviceAccount))
        .build();

    FirebaseApp.initializeApp(options);


    //...Generate message


    FirebaseMessaging.getInstance().send(message);
EN

回答 1

Stack Overflow用户

发布于 2021-04-15 21:57:50

如果您使用传统协议发送消息,则可以通过在请求的Authorization标头中提供静态FCM服务器密钥进行身份验证。有关详细信息,请参阅authorizing legacy protocol send requests上的文档。

虽然建议新应用程序使用版本化(当前为v1)应用程序接口,但没有计划淘汰旧的应用程序接口。

快速浏览一下providing credentials manually上的文档,您似乎还可以使用预先生成的服务帐户凭据进行身份验证。这也不需要在运行时进行任何动态身份验证。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67106687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档