如何验证服务器上的 FCM 注册令牌?

2024-01-01

我获得了用于 Web 推送的 Firebase Cloud Messaging 注册令牌。 我将其发送到我的服务器以保存在数据库中以供以后推送。 但是我如何验证这个令牌是有效的还是假的呢?

我努力了this https://firebase.google.com/docs/auth/admin/verify-id-tokens但我认为这是针对身份验证令牌而不是针对网络推送。

其他人可以向我的服务器发送随机假令牌的请求。我想在保存到数据库之前阻止这种情况。

编辑:它已经解决了,我编写了一个简单的类来快速使用 FCM 进行网络推送。https://github.com/emretekince/fcm-web-push https://github.com/emretekince/fcm-web-push


当发送至invalid注册令牌,您应该会收到200 + 错误:无效注册 https://firebase.google.com/docs/cloud-messaging/http-server-ref#error-codes:

检查您传递给服务器的注册令牌的格式。确保它与客户端应用程序通过 Firebase 通知注册收到的注册令牌相匹配。不要截断或添加额外的字符。

这是当您尝试发送简单的 cURL 请求(其中注册令牌是随机生成的)时的响应:

curl --header "Authorization: key=$[your_server_key_here]" \
       --header Content-Type:"application/json" \
       https://fcm.googleapis.com/fcm/send \
       -d "{\"registration_ids\":[\"ABC\"]}"

请注意,我添加了"ABC", 在里面registration_ids范围。如果它是有效的注册令牌,但与您的项目无关,您可能会收到200 + 错误:未注册 https://firebase.google.com/docs/cloud-messaging/http-server-ref#error-codes.

您可以尝试从服务器发送测试消息以查看响应,而无需使用以下命令向设备发送实际消息dry_run https://firebase.google.com/docs/cloud-messaging/http-server-ref#downstream-http-messages-json范围:

当此参数设置为 true 时,开发人员可以在不实际发送消息的情况下测试请求。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何验证服务器上的 FCM 注册令牌? 的相关文章

随机推荐