Facebook Тип приложения: какой из них выбрать для мобильных и веб-сайтов? - программирование
Подтвердить что ты не робот

Facebook Тип приложения: какой из них выбрать для мобильных и веб-сайтов?

В настройках приложения Facebook ☞ Advanced ☞ Аутентификация Я могу выбрать "Интернет" или "Родной/Рабочий стол" в качестве типа приложения. В информационном пузыре говорится:

Выберите только Native/Desktop, если вы являетесь родным iOS или Android-приложением, устройства или рабочего приложения

На самом деле, я не из тех, но мое приложение - это приложение Native iOS, а также вкладка "Страница Facebook".
Вопрос: Какой тип приложения следует выбрать?


Я провел некоторое исследование и нашел следующее в Facebook Android Tutorial (в разделе "Устранение неполадок" ):

  • Тип приложения Web vs Native/Desktop. Это имеет значение?: Нет, это не так дело. Однако рекомендуется использовать тип "Родной/Рабочий стол" для ваше приложение.

Что значит, это не имеет значения? Это не имеет смысла для меня. Почему у меня должен быть выбор?

Я сделал еще несколько исследований SO и нашел это выражение @Igy (разработчик службы поддержки facebook):

Если для типа приложения установлено значение "Родной/Рабочий", предполагается, что вы распределенный секретный ключ приложения с двоичным кодом, и, таким образом, приложение токен доступа не доверен (и 'getAccessToken' в PHP SDK будет работает только при входе реальных пользователей, он не может вернуться к токену приложения)

Наконец, я нашел это в документации в Facebook:

Примечание. Приложения, настроенные как приложения для настольных и настольных компьютеров, не будут иметь возможность совершать вызовы API, которым требуется приложение access_token.

Мне нужно сделать вызовы API, для которых требуется токен доступа из моего приложения с вкладкой страницы, поэтому мой вывод заключается в том, чтобы выбрать "Web" в качестве типа приложения, хотя у меня есть собственное приложение для iOS с использованием того же идентификатора приложения, что и вкладка страницы. Но будут ли какие-либо недостатки в приложении iOS?

4b9b3361

Ответ 1

TL; DR: используйте 'web', если вы не кладете секрет приложения в двоичный файл iOS/Android

Основное различие (а также причина, по которой он говорит "это не имеет значения", а также рекомендация) заключается в том, что если вы выберете режим "родной/рабочий", предполагается, что вы распространяете бинарное приложение с приложением секретный встроенный и секрет приложения считается ненадежным.

В этой конфигурации вызовы API, которые используют секрет приложения (например, создание тестовых пользователей, создание вызовов API от имени самого приложения, например изменение настроек приложения, публикация достижений и т.д.), не будут работать.

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

Если вы распространяете секретный код приложения с помощью своего кода, вы ДОЛЖНЫ использовать этот параметр, или пользователи могут легко определить секрет приложения и захватить приложение.