2017-01-09 45 views
2

我收到了用于网页推送的Firebase云消息传递注册令牌。 然后我将它发送到我的服务器以保存在数据库中供以后使用。 但是,我如何验证这个令牌是有效的还是假的?如何验证服务器上的FCM注册令牌?

我试过this但我认为这是用于Auth令牌而不是网页推送。

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

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

回答

3

当发送到无效注册令牌,你应该得到200 + error:InvalidRegistration

检查令牌传递到服务器登记的格式。确保它与客户端应用程序从注册Firebase通知时收到的注册令牌相匹配。不要截断或添加其他字符。

这是响应当您尝试发送一个简单的卷曲请求,其中所述登记令牌只是随机发:我在"ABC"增加,在registration_ids参数

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

通知。如果它是有效的注册令牌,但没有与您的项目相关联,则可能会收到200 + error:NotRegistered

你可以尝试从您的服务器发送测试消息看应答,而不使用dry_run参数发送朝着该设备的实际消息:

此参数,当设置为true,允许开发人员测试没有实际发送消息的请求。

相关问题