Аутентификация в бизнес-приложениях


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


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

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

Все приложения должны пройти проверку. После утверждения интеграции с FBE ваше приложение станет доступно пользователям.

Примечание. В качестве альтернативы бизнес-приложениям для аутентификации можно использовать вход от имени компании. См. документацию по реализации входа через Facebook.

Реализация URL для аутентификации

Бизнес-приложения запускают процесс, аналогичный входу от имени компании, со Страницы Facebook, из Instagram и из Facebook Business Suite. Чтобы использовать такой способ входа и внести свое приложение в наш каталог, предоставьте пользовательский интерфейс аутентификации, в котором пользователь может выбрать свою компанию на вашем сайте и будет перенаправлен в процесс для Facebook, Instagram или Facebook Business Suite.

Принцип работы

  1. Предоставьте конечную точку пользовательского URL (URL аутентификации), которая загружает процесс аутентификации на вашей платформе.
    • URL аутентификации должен перенаправлять пользователя (владельца компании) в процесс входа на вашей платформе.
    • Обеспечьте возможность зарегистрировать новый аккаунт на вашей платформе (такой как "регистрация"). После регистрации пользователь должен быть снова отправлен на Facebook, чтобы завершить привязывание своего аккаунта.
    • Если у аккаунтов на вашей платформе может быть несколько компаний, после входа через URL аутентификации должен открываться пользовательский интерфейс, где пользователь может выбрать компанию для привязки к своим объектам на Facebook.
    Пример: URL аутентификации
    https://yourwebsite.com/fbe-auth
  2. Facebook загружает предоставленный вами URL аутентификации в процессе подключения и добавляет в конце параметр запроса redirect_uri (это URI перенаправления, который может содержать дополнительные параметры запроса):
    https://yourwebsite.com/fbe-auth?redirect_uri=<an_encoded_redirect_uri_with_query_params>
    Пример: закодированный URI перенаправления, который может добавляться в параметре запроса redirect_uri:
    https://www.facebook.com/local/dev/transaction_tool_selector/redirect?app_id=<int_value>&app_name=<string_value>&page_id=<int_value>
    В конце этого этапа Facebook загружает ваш URL аутентификации с добавленным в конце параметром запроса redirect_uri, который может выглядеть следующим образом:
    https://yourwebsite.com/fbe-auth?redirect_uri=https%3A%2F%2Fwww.facebook.com%2Flocal%2Fdev%2Ftransaction_tool_selector%2Fredirect%3Fapp_id%3D123%26app_name%3DSample%26page_id%3D456

    Важно! Чтобы предотвратить отправку данных пользователя третьей стороне, перенаправляйте пользователей только на redirect_uri, соответствующие этому регулярному выражению:

    https?:\/\/(www\.|m\.|l\.|web\.|business\.)?(\d{4,5}\.od\.)?(business\.)?(facebook|instagram|whatsapp)\.com(\/.*)?
  3. После входа/регистрации и выбора компании на вашей платформе (если применимо) перенаправьте пользователя на URL redirect_uri, предварительно добавив в качестве параметра запроса закодированный объект extras (так же, как для входа от имени компании) и указав при этом значения business_config и setup (в зависимости от конфигурации подключения, которую вы хотите реализовать):
    https://www.facebook.com/local/dev/transaction_tool_selector/redirect?app_id=<int_value>&app_name=<string_value>&page_id=<int_value>&extras=<an_encoded_json_string>

Примечание. При добавлении возможности создать новый аккаунт на платформе в вашем URL аутентификации убедитесь, что представленный пользовательский интерфейс: 1) правильно отображается и работает на мобильных устройствах и/или 2) открывается с высотой/шириной, достаточными для правильного представления потока регистрации партнера (рекомендуемые минимальные размеры: 600х600 пикселей).

Аутентификация в iframe

Для обеспечения большего удобства для пользователей в бизнес-приложениях и более эффективной поддержки создания новых аккаунтов на своей платформе вы должны обеспечить возможность загрузки URL аутентификации в iframe на Facebook. Указания по реализации и характеристики последующих сообщений см. в документации по iframe.

Реализация Webhooks

Webhooks позволяют в режиме реального времени получать уведомления HTTP об изменениях определенных объектов в социальном графе Facebook. В контексте FBE это означает, что, когда пользователь установит или удалит FBE с помощью вашего приложения (например, через бизнес-приложения), вы получите сведения об этом действии через Webhooks.

У вас должна быть конечная точка на защищенном сервере, которая будет обрабатывать запросы от Facebook. Это обязательное требование для всех партнеров платформы, которые хотят опубликовать свои приложения в бизнес-приложениях. Сведения о том, как создать такую конечную точку, см. в руководстве по реализации Webhooks.

Настройка и подтверждение объекта Webhooks

Подготовив конечную точку Webhooks, выполните следующие действия, чтобы настроить и подтвердить ее:

  1. Используйте карточку Webhooks в разделе Расширение Facebook Business -> Настройка на панели приложений, чтобы проверить конечную точку, и подпишитесь на поле Webhooks fbe_install. Дополнительную информацию см. в руководстве по реализации Webhooks.
  2. Если продукт Webhooks настроен правильно, кружочек в верхнем правом углу карточки должен стать зеленым и в нем должна отображаться галочка.

Настройка и проверка через панель разработчика

Доступ к панели разработчика расширения Facebook Business можно получить с панели приложений. Когда вашему приложению будет предоставлено разрешение FBE, настройте и подтвердите свой URL аутентификации и конечную точку Webhooks в панели разработчика, а затем укажите, какие именно возможности ваше приложение предлагает компаниям.

Настройка и подтверждение URL аутентификации

Подготовив URL аутентификации, выполните следующие действия, чтобы настроить и подтвердить его:

  1. Перейдите в панель разработчика FBE в панели вашего приложения. Примечание. Если вы ещё не настроили ее, следуйте этим инструкциям.
  2. Откройте вкладку Настройка и найдите карточку платформы бизнес-приложений.
  3. Установите флажок Отображать мое приложение на платформе бизнес-приложений.
  4. Укажите свой URL аутентификации в соответствующем поле.
  5. Нажмите кнопку Проверить аутентификацию.
    • Откроется всплывающее окно, в котором будет загружен ваш URL, чтобы продемонстрировать, как Facebook будет использовать его на платформе бизнес-приложений.
    • Войдите и выберите компанию (если это применимо).
    • После перенаправления всплывающее окно закроется. Если в вашей реализации есть ошибки (например, недопустимые значения для полей extra), сообщения о них появятся внизу этой карточки. Так вы будете знать, что нужно исправить. Функция Проверить аутентификацию проверяет только переданные значения redirect_uri и не устанавливает FBE.
  6. Когда соответствующие функции и дополнительные настройки будут реализованы должным образом, этот шаг будет отмечен зеленой галочкой в правом верхнем углу карточки. Таким образом вы сможете провести комплексное тестирование всего процесса подключения (установки FBE) прямо с Facebook (см. раздел ниже).

Комплексное тестирование

После настройки и подтверждения URL аутентификации и конечной точки Webhooks на панели разработчика вы можете провести комплексное тестирование процесса подключения из вашего приложения перед публикацией. Это можно сделать непосредственно из Facebook Business Suite или со Страницы Facebook следующим образом:

Из Facebook Business Suite

  1. Откройте Facebook Business Suite.
  2. В левой части нажмите Дополнительные инструменты и выберите Бизнес-приложения.
  3. Здесь будут перечислены все доступные приложения. Ваше приложение будет указано в категории, которую вы выбрали в качестве отрасли на вкладке настройки в панели разработчика.
  4. У вашего приложения будет метка, свидетельствующая о том, что оно предназначено только для тестирования и не опубликовано. Это означает, что сейчас его могут тестировать только пользователи, имеющие какую-либо роль в вашем приложении, а посторонним пользователям оно недоступно.
  5. Нажмите Подключить и приступайте к тестированию с использованием вашего URL аутентификации.
    • В процессе подключения срабатывают уведомления Webhooks, а реальная установка FBE не выполняется.

Со Страницы Facebook

  1. Откройте Страницу Facebook, к которой у вас есть доступ администратора.
  2. В левой части Страницы Facebook нажмите Бизнес-приложения.
  3. Здесь будут перечислены все доступные приложения. Ваше приложение будет указано в категории, которую вы выбрали в качестве отрасли на вкладке настройки в панели разработчика.
  4. У вашего приложения будет метка, свидетельствующая о том, что оно предназначено только для тестирования и не опубликовано. Это означает, что сейчас его могут тестировать только пользователи, имеющие какую-либо роль в вашем приложении, а посторонним пользователям оно недоступно.
  5. Нажмите Подключить и приступайте к тестированию с использованием вашего URL аутентификации.
    • В процессе подключения срабатывают уведомления Webhooks, а реальная установка FBE не выполняется.