Поделиться через


Обновление Graph API 2.0 в Facebook и ACS

Обновлено: 17 июля 2015 г.

30 апреля 2015 г. все приложения с поддержкой Facebook будут автоматически обновлены до API Graph Facebook версии 2.0. Если вы используете Facebook в качестве поставщика удостоверений в пространстве имен ACS, вам может потребоваться внести изменения в конфигурации поставщика удостоверений Facebook в ACS, изменить код приложения или и то, и другое, чтобы избежать простоя. Дополнительные сведения о планах Facebook см. в руководстве по обновлению платформы Facebook.

Историческая справка

ACS использует следующие конечные точки Facebook: https://www.facebook.com/dialog/oauthи https://graph.facebook.com/oauth/access\_tokenhttps://www.facebook.com/logout.phphttps://graph.facebook.com/me. Facebook автоматически обновит эти запросы на использование версии 2.0 API Graph на 30 апреля 2015 года.

При добавлении Facebook в качестве поставщика удостоверений в ACS в качестве разрешения приложения устанавливается email (по умолчанию). Если вы выбрали отсутствие разрешений приложения (пустое поле) или значение по умолчанию (email) в конфигурации поставщика удостоверений Facebook, то не потребуется вносить какие-либо изменения в приложение или конфигурацию. Если выбраны другие разрешения приложения, следует ознакомиться с этим разделом полностью, чтобы оценить воздействие и предпринять соответствующие действия.

Application permissions dialog

Оценка воздействия

Необходимо принять во внимание следующие изменения, сделанные Facebook.

  • Разрешения

    • Разрешение basic_info, которое неявным образом является частью каждого запроса Facebook, будет заменено на разрешение public_profile, которое также будет неявным. Наборы разрешений для них идентичны, за исключением того, что во втором случае список друзей будет частью отдельного разрешения user_friends. Чтобы получить функциональность, эквивалентную функциональности для разрешения basic_info, необходимо явно запросить разрешение user_friends.

    • Внесены значительные изменения в разрешения на основе friends. Руководство по обновлению платформы Facebook подробно описывает их.

    • Facebook требует, чтобы приложения, запрашивающие дополнительные разрешения за пределами "basic_profile", "электронной почты" и "user_friends", прошли процесс проверки входа .

  • Отклоненные разрешения

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

    • Пользователи не могут отказаться от разрешения "public_profile".

    • Если пользователь отклоняет разрешение email, ACS не будет передавать утверждение email в токене обратно в приложение.

  • Идентификаторы пользователей уровня приложения

    • Идентификаторы пользователей, отправляемые в токен ACS как утверждения Name identifier, из глобальных идентификаторов (единый идентификатор пользователя в нескольких приложениях Facebook) станут идентификаторами на уровне приложения (разные идентификаторы пользователя для каждого приложения Facebook).

    • Это происходит только для пользователей Facebook, которые будут входить в приложение. Это обеспечивает обратную совместимость для пользователей, которые уже вошли в приложение раньше.

    • Если приложение использует идентификаторы пользователей с глобальной областью, чтобы сопоставить пользователя в разных регистрациях приложений Facebook, это потребуется внести корректировки и использовать API бизнес-сопоставления Facebook, чтобы сделать то же самое.

Рекомендации

Если обнаружено воздействие на приложения ACS с поддержкой Facebook, обратитесь к следующему неполному списку рекомендаций. Не все из этих рекомендаций могут быть применимы для вас. Полный список см. в руководстве по обновлению платформы Facebook .

  • Убедитесь, что ваше приложение не зависит от устаревших разрешений приложения.

  • Отправьте расширенные разрешения приложения для проверки входа Facebook. Вы также можете вернуть ваше приложение на использование только разрешений приложения basic_profile, email и user_friends.

  • Обновите логику приложения для обработки отклоненных разрешений.

  • Обновите логику приложения для обработки идентификаторов пользователей уровня приложения, если вам нужно устанавливать взаимосвязь между несколькими регистрациями приложений Facebook пользователя. Для этого используйте API бизнес-сопоставления Facebook.