У нас есть «виджет», который запускается на сторонних веб-сайтах, то есть всех, кто подписывается на наш сервис и встраивает JavaScript.
В данный момент мы используем JSONP для всех коммуникаций. Мы можем безопасно входить в систему и создавать учетные записи с помощью iFrame и некоторого волшебства с обнаружением событий загрузки на нем. (По сути, мы ждем, пока источник iFrames будет указывать обратно на домен клиентов, прежде чем читать значение успеха из его заголовка).
Поскольку мы работаем на JSONP, мы можем использовать куки-файлы HTTP браузеров, чтобы определить, вошел ли пользователь в систему.
Однако мы находимся в процессе перевода нашей системы для работы в режиме реального времени и через веб-сокеты. У нас все еще будет тот же метод для аутентификации, но мы не обязательно будем делать другие вызовы, используя JSONP. Вместо этого эти вызовы будут происходить через веб-сокеты (с использованием библиотеки Faye)
Как я могу обеспечить это? Потенциальные дыры в безопасности: если кто-то скопирует JavaScript с существующего сайта, изменит его, а затем заставит людей посетить их сайт. Я думаю, что это противоречит моей первоначальной идее отправки безопасного токена при входе в систему, поскольку вредоносный JavaScript сможет прочитать его и затем использовать для проверки подлинности.
Мне лучше, чтобы мои безопасные действия выполнялись на обычном JSONP, а мои обновления - на WebSockets?