Я работаю над приложением для холста Facebook (это приложение для флеш-приложений), все вызовы Facebook выполняются с помощью клиента (JS SDK), я настроил php-сеть сервис на моем сервере для хранения и чтения данных из моей базы данных, так что в основном на данный момент я вообще не использую php sdk для Facebook.Защитите мой веб-сервис от вызова без активной сессии Facebook
Что было бы самым простым способом защитить мой веб-сервис от вызова без активной сессии Facebook?
UPDATE: Работали это, ответ Павла является правильным, спасибо @Paul.
Вопрос был прост: инициализация JS sdk выполнена ПОСЛЕ php-сеанса, поэтому дальнейшие вызовы в мои php-файлы не были зарегистрированы как вход в систему. Для того, чтобы он работал, я инициализировал сеанс Facebook в файле, который встраивает swf (был Html, теперь это php), это означает, что обработка пользователей, которые еще не разрешала приложение, выполнялась через php, прежде чем swf будет даже загружен. Теперь я могу полагаться на активную сессию и идентификацию пользователя в моем веб-сервисе, кофе сегодня намного лучше.
Спасибо Павел, я пытался просто это ... однако, $ facebook-> GetUser() всегда возвращает 0 - как никакой активной сессии (У меня есть экземпляр приложения Facebook, я могу получить приложение access_token) - любые идеи? – adifmac
имеет ли определенную регистрацию пользователя в facebook и авторизовал ваше приложение? Им пришлось бы следить за потоком на этой странице: http://developers.facebook.com/docs/guides/web/#login –
Да, пользователь вошел в систему и авторизировал приложение. Однако пользователь не должен загружать эту «страницу» напрямую, это «веб-сервис» для флеш - для сохранения и загрузки данных, он возвращает объекты JSON. В принципе, если он вызывается flash (и в будущем - мобильным приложением), он является «безопасным» вызовом зарегистрированного пользователя. И это точно проблема. Как я могу ограничить доступ к этому «веб-сервису» только тем пользователям, которые в настоящее время вошли в мое приложение Facebook? – adifmac