Facebook: отправка токена доступа к серверу на iOS и подписание с помощью App Secret - PullRequest
13 голосов
/ 14 июня 2011

Я пишу приложение для iPhone, которое широко использует Facebook. Прямо сейчас я получаю токен доступа с помощью iPhone Facebook SDK. Это возвращает мне стандартный токен доступа.

Я отправляю этот токен на сервер и успешно использую его для многих запросов. Однако есть некоторые запросы, для которых требуется токен доступа, подписанный с помощью Application Secret, который приложение iPhone sdk не может выполнить на стороне клиента из-за уязвимостей системы безопасности (в частности, я пытаюсь использовать методы панели мониторинга).

Итак, мой вопрос: можно ли каким-либо образом заставить Facebook обновить серверный токен доступа к iPhone, чтобы он содержал подписанный секрет? Или я должен проверить серверную часть с самого начала, чтобы сделать это?

В документах говорится, что с помощью метода «Поток на стороне сервера», как только пользователь разрешит ваше приложение, вы получите код, сгенерированный сервером, который вы должны отправить обратно с секретом приложения, чтобы получить маркер доступа. В iPhone SDK используется метод «Поток на стороне клиента», и кажется, что этот шаг пропущен, поэтому я не уверен, как получить этот код. Поэтому я думаю, что вопрос сводится к тому, возможно ли обновить токен, полученный методом «потока на стороне клиента», до того, который можно использовать полностью на стороне сервера.

1 Ответ

7 голосов
/ 19 июля 2011

Ответ - нет.

Токены пользователей и токены приложений различаются, и вы не можете конвертировать один в другой.

Поскольку у вас есть клиентское приложение, я нерекомендуем вам встроить секрет вашего приложения (как вы указали).

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

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