В этом руководстве описаны распространенные сценарии, связанные с переносимостью. Это поможет вам подобрать оптимальную конфигурацию при разработке приложения.
Маркеры доступа обладают свойством переносимости. Получив маркер, вы можете использовать его с любого компьютера. Комбинируя веб-интерфейсы, мобильные клиенты и серверы, можно получить разнообразные конфигурации. Однако эти конфигурации представляют собой определенный компромисс между возможностями и уровнем безопасности.
Конфигурация | Преимущества | Недостатки | Примечания по безопасности |
---|---|---|---|
Вход и запросы API осуществляются через веб-клиент (краткосрочный маркер). | Простая реализация. | Отсутствует возможность размещать публикации в режиме офлайн. Отсутствует возможность долгосрочного доступа. Частая авторизация. | |
Вход и запросы API осуществляются через нативный мобильный клиент или веб-клиент (долгосрочный маркер). | Не такая частая авторизация. | Отсутствует возможность размещать публикации в режиме офлайн. | |
Вход и запросы API осуществляются через веб-клиент (долгосрочный маркер после обмена кодом). | Дополнительная безопасность в некоторых ситуациях. | Сложная реализация. Отсутствует возможность размещать публикации в режиме офлайн. | Подходит только для определенных ситуаций. |
Вход выполняется через нативный мобильный клиент или веб-клиент. Запросы API выполняются на сервере (с долгосрочным маркером). | Возможность размещать публикации в режиме офлайн. Дополнительные функции безопасности благодаря серверным вызовам. | Клиент должен вызывать сервер для доверенной передачи всех вызовов. | Для вызовов используется параметр |
Вход выполняется через нативный мобильный клиент или веб-клиент. Запросы API выполняются на сервере или в клиенте. | Возможность размещать публикации в режиме офлайн. Размещение публикаций из клиента по инициативе пользователя. | Сложная реализация. | Для вызовов от сервера используется параметр |
Это наиболее простая схема, в которой аутентификация и запросы API осуществляются на стороне клиента. В этой модели возможны три описанные ниже конфигурации.
В этой распространенной конфигурации аутентификация происходит на стороне клиента, а вызовы API совершаются сервером от имени клиента. Для дополнительной безопасности при совершении вызовов сервер может использовать параметр appsecret_proof
.
Эта конфигурация представляет собой сочетание двух описанных выше подходов.
Указать, какие маркеры доступа должны использоваться при вызове API в наших SDK, можно несколькими способами.
setCurrentAccessToken
Facebook SDK для Android есть параметр accessToken
.setCurrentAccessToken
Facebook SDK для iOS есть параметр token
.FB.api()
Facebook SDK для JavaScript есть параметр access_token
.