Как безопасно установитьExternalUserId () в OneSignal? - PullRequest
1 голос
/ 05 октября 2019

Я настраиваю OneSignal на своем веб-сайте.

Насколько я вижу, есть два способа связать push-подписку с моим идентификатором пользователя:

  • Я могу позвонить OneSignal.getUserId(), который возвращает UUID, и сделать аутентифицированный звонок на мой веб-сервер, чтобы связать этот UUID с моим зарегистрированным пользователем на моем сервере
  • Я могу позвонить setExternalUserId() отправить зарегистрированный идентификатор пользователя и связать его с подпиской на серверах OneSignal

Первый вариант абсолютно безопасен, поскольку можно было только перехватить мой код на стороне клиента дляотправьте неверный идентификатор подписки (или другой действительный идентификатор подписки , который они создали), что не представляет особой проблемы.

Второй вариант, хотя и кажется совершенно ненадежным: любой может взломать клиент. боковой код для отправки любого действительного идентификатора пользователя и связывания его с подпиской и, следовательно, получения уведомлений от имени другого пользователя.

Существует ли способ безопасного использования setExternalUserId() при одновременном запрете пользователясвязать свою подписку с другим пользователем?

Единственный безопасный сценарий, о котором я могу подумать, - это если бы у моих пользователей были также идентификаторы UUID вместо последовательных идентификаторов, и эти UUID хранились в секрете (то есть никогда не подвергались публичному раскрытию)на сайте).

Любой другой сценарий, о котором я могу думать, звучит просто небезопасно.

Я что-то пропустил?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...