2017-01-09 4 views
2

Я получил свой токен регистрации облачных сообщений Firebase Cloud для веб-push. И я отправил это на свой сервер, чтобы сохранить в базе данных для последующего нажатия. Но как я могу подтвердить, что этот токен действителен или подделка?Как проверить токен регистрации FCM на сервере?

Я пробовал this, но я думаю, что это для токенов Auth не для веб-толчка.

Кто-то может отправить запрос случайного фальшивого токена на мой сервер. Я хочу предотвратить это до сохранения в db.

Редактировать: Решено, и я написал простой класс для быстрого использования FCM для веб-прокрутки. 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 параметра:

Этот параметр, когда установлен верно, позволяет разработчикам тестировать запрос без фактической отправки сообщения.

2

Один из способов - отправить сообщение с помощью опции dry_run option = true, как описано AL. в другом ответе.

Другой способ заключается в использовании InstanceId сервера API:
https://developers.google.com/instance-id/reference/server

Смежные вопросы