Получение необработанного содержимого cookie-файлов Facebook iPhone - PullRequest
2 голосов
/ 23 января 2011

Я хотел использовать Facebook для аутентификации клиента iPhone с помощью моего веб-сервера Google App Engine. Я рассчитывал сделать это следующим образом:

  1. Войти через Facebook на iPhone
  2. Получить cookie-файл Facebook (подписанный секретным идентификатором моего приложения)
  3. Пусть iPhone-клиент отправит куки на мой сервер
  4. Проверка подписи на куки со стороны сервера (которая также знает, что это секретный идентификатор приложения)

Я успешно сделал это с помощью клиента javascript и инструмента JSON RPC, работающего на ядре приложения, но я не могу «получить необработанное содержимое cookie-файлов Facebook на iPhone с помощью SDK Facebook (https://github.com/facebook/facebook-ios-sdk). Используя их пример кода, Я настроил простой вход в систему с помощью клиента Facebook для iPhone. Если вы посмотрите на Facebook.m, он читает файлы cookie как NSHttpCookie, но ему не хватает информации, которую я вижу из моего клиента JavaScript.

Я не вижу этой информации: access_token = истекает = секрет = session_key = сиг =

Я могу, по крайней мере, получить токен доступа, другой способ аутентификации на моем сервере - принять токен доступа пользователей, а затем сделать запрос к графическому API api на стороне сервера, чтобы убедиться, что токен доступа действительно для того, кто пользователь утверждает, что является пользователем.

Есть идеи, как получить полное печенье на iPhone?

1 Ответ

3 голосов
/ 23 января 2011

Что вам нужно сделать, так это прочитать NSHTTPCookieStorage и NSHTTPCookie. Документация здесь и здесь .

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

for(NSHTTPCookie* cookie in [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies])
{
    // read and write from the CookieStorage
}

Как указывается в документации, имейте в виду, что у вас есть доступ только к вашим файлам cookie, но не к любым другим приложениям, включая Safari.app.

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