Кросс-доменная аутентификация виджета Javascript - PullRequest
1 голос
/ 15 марта 2012

У меня есть некоторый код javascript для виджета на whateveryouwant.com, который выполняет несколько запросов jsonp на мой mymaindomain.com.Каждый экземпляр виджета имеет свой собственный appid, так что каждый appid имеет одно и только одно доверенное доменное имя, связанное с ним.Теперь я хочу узнать, используется ли один экземпляр моего виджета (appid) из доверенного домена, и, если это правда, предоставить доступ к моей службе (например, возвращая маркер доступа) и заблокировать любой другой ненадежный домен.Я читал кое-что о фреймах и пост-сообщениях, но я не понимаю, может ли это быть кроссбраузерным решением.

1 Ответ

1 голос
/ 15 марта 2012

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

  1. HTML 5 имеет API пост-сообщений, но этоНасколько я знаю, до сих пор не поддерживается в IE.Посмотрите здесь, если вам интересно: https://developer.mozilla.org/en/DOM/window.postMessage

  2. Используйте старый трюк, когда вы, в основном, устанавливаете данные в iframe и перемещаетесь по фрейму между двумя различными серверами, чтобы каждый виджет мог получить доступэто по одному.Вот простой пример: http://onlineaspect.com/uploads/postmessage/parent.html

...