Я сделал дополнение к Firefox, используя компилятор скриптов Greasemonkey по адресу arantius.com/misc/greasemonkey/script-compiler.Аддон получает данные с моего сервера и отображает их на сторонних сайтах.Теперь я хочу ограничить доступ только для аутентифицированных пользователей.Каков наилучший способ сделать это?
У пользователей есть учетная запись на моем веб-сайте (сделанная с Drupal 7), которая устанавливает cookie-файл сессии при входе в систему.Поэтому я попытался заставить свое дополнение прочитать файл cookie сеанса, отправить его бэкэнду, который затем проверяет состояние входа в систему.
Но так как javascript моего дополнения работает в рамках стороннего веб-сайта,мне не разрешен доступ к моему cookie.Я получаю эту ошибку:
Ошибка: <<a href="http://de.wikipedia.org" rel="nofollow">http://de.wikipedia.org> wurde die Erlaubnis für das Lesen der Eigenschaft XPCComponents.classes verweigert.
(ru: "Ошибка: Википедия былане разрешено читать свойство XPCComponents.classes ")
Несмотря на проблемы безопасности, я пытался использовать unsafeWindow, но код все равно не работает:
try {
unsafeWindow.netscape.security.PrivilegeManager
.enablePrivilege('UniversalXPConnect');
var cookieMgr = Components.classes["@mozilla.org/cookiemanager;1"]
.getService(Components.interfaces.nsICookieManager);
}
catch (errorInfo)
{
alert(errorInfo);
}
Теперь я знаю, что кросс-доменпеченье не должно быть возможным.Но как я могу обойти это?Как другие надстройки выполняют аутентификацию (например, Delicious Bookmarks, StumbleUpon и многие другие).
Будем очень благодарны за любые подсказки или указатели.