Обновление 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, то не потребуется вносить какие-либо изменения в приложение или конфигурацию. Если выбраны другие разрешения приложения, следует ознакомиться с этим разделом полностью, чтобы оценить воздействие и предпринять соответствующие действия.
Оценка воздействия
Необходимо принять во внимание следующие изменения, сделанные 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.