Конечная точка Chrome Push-уведомлений + идентификация пользователя

Я планирую интегрировать Push-уведомления для Chrome (Push API и Notification API).

После успешной подписки сервер Chrome отправляет клиенту специальный токен ("конечная точка"), который можно использовать для идентификации клиента и отправки любых push-сообщений.

Из документа:

Конечная точка должна быть сохранена на вашем сервере для каждого пользователя, так как они понадобятся вам для отправки push-сообщений позднее.

У меня есть несколько вопросов:

  1. Как вы управляете "конечной точкой" на стороне вашего сервера? Вы бы отправили эту "конечную точку" после успешной подписки на ваш сервер AJAX и сохранили в БД. Или вы сохраняете их в куки и после этого сохраняете их на сервере после входа в систему / регистрации.
  2. Интересно, как вы связываете "конечную точку" с реальным пользователем? Пользователь может открыть ваш сайт, нажать "Разрешить", чтобы показать push-уведомление, но у него нет cookie-файла сеанса, поэтому вы не можете идентифицировать эту "конечную точку" с реальным пользователем в это время.
  3. У этой "конечной точки" есть какой-нибудь TTL?

1 ответ

  1. Да, вы можете отправить его на сервер, а сервер может сохранить его в БД. Смотрите, например, [ 1].
  2. Это зависит от вашего приложения. Иногда вам не нужно связывать конечную точку с пользователем. Если вы это сделаете, то просто конечная точка может быть собственностью вашего user объект на сервере. Если пользователь регистрируется для получения push-уведомлений перед входом в систему, вы не можете сказать, что эта конечная точка связана с этим пользователем. Когда пользователь входит в систему, вы можете отправить обновленную информацию на сервер.
  3. Да, конечная точка может истечь (см. [ 2]). Событие 'subscriptionchange' будет вызвано, когда это произойдет, работники службы могут прослушать это событие и отправить обновленную информацию на сервер (опять же, вы можете увидеть [ 1] в качестве примера или [ 3]).
Другие вопросы по тегам