Вход через Facebook для компаний — это предпочитаемый метод аутентификации и авторизации для поставщиков технологий, которые интегрируют инструменты Meta для бизнеса, чтобы создавать решения для маркетинга, обмена сообщениями и торговли.
Вход через Facebook для компаний позволяет создать в панели приложений Meta процесс входа, необходимый вашему приложению. Вы можете указать тип маркера доступа, типы объектов и разрешения, которые требуются вашему приложению, и сохранить эту информацию в качестве конфигурации. В процессе входа пользователи приложения увидят соответствующее этой конфигурации окно, в котором смогут предоставить вашему приложению доступ к их объектам компаний.
email
и public_profile
предоставляются всем приложениям автоматически. При этом для каждого приложения должно быть добавлено как минимум ещё одно поддерживаемое разрешение.В следующей таблице перечислены доступные разрешения для входа через Facebook для компаний.
Доступные разрешения | Маркеры доступа пользователя | Маркеры доступа системного пользователя бизнес-интеграции (WhatsApp) |
---|---|---|
ads_management | ✓ | ✓ |
ads_read | ✓ | ✓ |
business_management | ✓ | ✓ |
catalog_management | ✓ | ✓ |
commerce_account_manage_orders | ✓ | ✓ |
commerce_account_read_orders | ✓ | ✓ |
commerce_account_read_reports | ✓ | ✓ |
commerce_account_read_settings | ✓ | ✓ |
commerce_manage_accounts | ✓ | ✓ |
email | ✓ | Неприменимо |
instagram_basic | ✓ | ✓ |
instagram_content_publish | ✓ | ✓ |
instagram_manage_comments | ✓ | ✓ |
instagram_manage_insights | ✓ | ✓ |
instagram_manage_messages | ✓ | ✓ |
instagram_shopping_tag_products | ✓ | ✓ |
leads_retrieval | ✓ | ✓ |
manage_app_solutions | ✓ | ✓ |
manage_fundraisers | ✓ | ✓ |
pages_manage_cta | ✓ | ✓ |
page_events | ✓ | ✓ |
pages_manage_ads | ✓ | ✓ |
pages_manage_engagement | ✓ | ✓ |
pages_manage_instant_articles | ✓ | ✓ |
pages_manage_metadata | ✓ | ✓ |
pages_manage_posts | ✓ | ✓ |
pages_messaging | ✓ | ✓ |
pages_read_engagement | ✓ | ✓ |
pages_read_user_content | ✓ | ✓ |
pages_show_list | ✓ | ✓ |
private_computation_access | ✓ | ✓ |
public_profile | ✓ | Неприменимо |
publish_video | ✓ | ✓ |
read_insights | ✓ | ✓ |
read_audience_network_insights | ✓ | ✓ |
whatsapp_business_management | ✓ | ✓ |
whatsapp_business_messaging | ✓ | ✓ |
|
|
|
Вход через Facebook для компаний можно использовать для получения маркеров доступа системного пользователя бизнес-интеграции или маркеров доступа пользователя.
Маркеры доступа пользователя следует применять, если ваше приложение выполняет действия в режиме реального времени в зависимости от ввода пользователя. Например, используйте маркер доступа пользователя, если пользователь вашего приложения должен вводить текст и нажимать кнопку, чтобы опубликовать контент на своей Странице. Кроме того, маркеры доступа пользователей следует использовать, если вам нужен API, которому необходимы разрешения администратора для бизнес-портфолио.
Маркеры доступа системного пользователя бизнес-интеграции следует применять, если ваше приложение выполняет программируемые автоматические действия с объектами компаний-клиентов без использования данных, вводимых пользователями приложения, или повторной аутентификации в будущем. Пример:
Для получения маркеров доступа системного пользователя бизнес-интеграции от клиентов:
Чтобы протестировать процесс получения маркера доступа системного пользователя бизнес-интеграции, тестировщик должен иметь роль в приложении и полный доступ к компании клиента.
Если вам нужны разные настройки доступа для разных целей или отделов, можно использовать несколько маркеров доступа системных пользователей бизнес-интеграции для каждой компании-клиента, чтобы повысить масштабируемость и безопасность ваших интеграций.
Модульные маркеры доступа зависят от бизнес-портфолио клиента. Ими нельзя делиться с компаниями других клиентов и использовать их в других компаниях. Их область действия и список объектов являются подмножеством области и объектов исходного маркера доступа системного пользователя бизнес-интеграции.
Во избежание потенциальных проблем безопасности, если маркер будет скомпрометирован, это повлияет только на конкретную клиентскую компанию и не затронет остальные бизнес-портфолио других клиентских компаний.
Когда компания-клиент устанавливает приложение через вход через Facebook для компаний и генерирует маркер доступа системного пользователя бизнес-интеграции, маркер включает в себя ID компании-клиента. Этот ID представляет компанию-клиента и используется вашим приложением в вызовах API.
Конечная точка /<CLIENT_BUSINESS_ID>/system_user_access_tokens
позволяет управлять существующими маркерами доступа системных пользователей бизнес-интеграции. Возможные действия:
Объект | Описание |
---|---|
| Обязательный параметр. Для этого маркера доступа требуется разрешение |
| Обязательный параметр. |
| Необязательный параметр. Если вы хотите сгенерировать более модульный маркер, в параметре |
| Необязательный параметр. Этот флаг можно использовать для получения существующего маркера и указания того, что эта операция используется только для чтения. |
| Необязательный параметр. Если вы хотите сгенерировать более модульный маркер, в параметре |
| Необязательный параметр. При генерации нового маркера задайте значение |
| Необязательный параметр. ID системного пользователя, включенный в маркер доступа. |
Для удобства чтения применено форматирование.
curl -i -X POST "https://graph.facebook.com/v21.0
/<CLIENT_BUSINESS_ID>/system_user_access_tokens
?appsecret_proof=<APPSECRET_PROOF_HASH>
&access_token=<ACCESS_TOKEN>
&system_user_id=<SYSTEM_USER_ID>
&fetch_only=true"
В случае успеха ваше приложение получит ответ JSON с новым маркером доступа для использования в последующих вызовах API.
{ "access_token": "<NEW_ACCESS_TOKEN>" }
Маркеры доступа системного пользователя бизнес-интеграции | Маркеры доступа пользователя | |
---|---|---|
Обозначения доступа | Доступ явным образом предоставляется при авторизации. Ваше приложение может получить доступ только к тем объектам, которые были указаны вашим клиентом при выполнении процесса входа через Facebook для компании. Только для поставщиков технологий. | Права доступа наследуются от текущих прав доступа аккаунта пользователя вашего приложения. Ваше приложение получает доступ к тем же самым объектам компании, к которым в настоящий момент есть доступ у пользователя приложения. |
Связь с аккаунтом | Связаны с бизнес-портфолио вашего клиента, а не с конкретным пользователем. Любой администратор группы вашего клиента может предоставить вашему приложению маркер доступа системного пользователя. | Связаны с личным аккаунтом пользователя вашего приложения. |
Срок действия и обновление | По умолчанию срок действия не истекает никогда для обычного взаимодействия между серверами в режиме офлайн. | Маркер краткосрочного действия для операций в режиме онлайн, таких как работа в веб-браузере. |
Тип предоставления OAuth | Только предоставление кода авторизации. | Неявное предоставление по умолчанию. Может также поддерживать предоставление кода авторизации для повышения степени безопасности. В основном используется для клиентов типа "пользовательский агент", таких как веб-браузеры и мобильные приложения. |
Представление | Часть инфраструктуры интеграции поставщика технологий, инициализируемая компанией клиента путем установки приложений поставщика. | Представляет серверы или программное обеспечение, выполняющие вызовы API к объектам, которые принадлежат Business Manager или управляются им. |
Аннулирование маркера | Ваши компании-клиенты могут аннулировать маркеры доступа системных пользователей бизнес-интеграции. Для этого им нужно выбрать Business Manager > Настройки > Настройки компании > Интеграции > Подключенные приложения и удалить ваше приложение. | Чтобы аннулировать маркеры доступа пользователя, вашим клиентам нужно перейти на Facebook, выбрать Настройки и конфиденциальность > Настройки > Безопасность и вход > Бизнес-интеграции и удалить ваше приложение. |
Чтобы настроить вход через Facebook для компаний, если у вас ещё нет приложения, выполните следующие действия.
Вы получите ID конфигурации, который будете использовать в коде для вызова диалога входа.
Информацию о том, как создать конфигурацию со встроенной регистрацией в WhatsApp, см. в нашем руководстве.
Информацию о том, как создать конфигурацию с Conversions API для переписок, см. в нашем руководстве.
Информацию о том, как создать конфигурацию с Graph API, см. в нашей документации по Instagram Graph API.
Вызовите диалог входа с помощью одного из наших SDK (рекомендуемый способ) или создайте свой процесс входа вручную.
Чтобы вызвать диалог входа, вы можете использовать любой из наших SDK — для этого следует заменить список областей действия (разрешений), которые необходимы вашему приложению, указав вместо них ID конфигурации и требуемый тип предоставления OAuth маркера доступа.
Если вы не знакомы с нашими SDK, рекомендуем сначала установить SDK для JavaScript и обеспечить его работу с продуктом для входа через Facebook, поскольку в следующих примерах используется этот SDK.
Ниже показан пример метода FB.login()
из SDK для JavaScript, измененного таким образом, чтобы использовать конфигурацию для маркера доступа системного пользователя. Обратите внимание, что параметр config_id
заменил параметр scope
, который не должен использоваться, а для параметра response_type
установлено значение code
, поскольку маркеру доступа системного пользователя необходим тип предоставления кода авторизации, а для override_default_response_type
должно быть установлено значение true
. Если установлено значение true, все типы ответов, передаваемых в response_type
, будут иметь приоритет над типами, установленными по умолчанию.
FB.login( function(response) [ console.log(response); ], [ config_id: '<CONFIG_ID>', response_type: 'code', override_default_response_type: true ] );
Когда пользователь пройдет процесс с использованием диалога входа, мы перенаправим его на ваш URL перенаправления и укажем код. Затем вам необходимо обменять этот код на маркер доступа, отправив межсерверный вызов к нашим серверам.
GET https://graph.facebook.com/v21.0
/oauth/access_token?
client_id=<APP_ID>
&client_secret=<APP_SECRET>
&code=<CODE>
Подробнее об этом шаге см. в статье Обмен кода на маркер доступа.
Ниже приведен пример метода FB.login()
из SDK для JavaScript, который изменен для использования конфигурации для маркера доступа пользователя. Обратите внимание, что параметр config_id
заменил параметр scope
(параметр scope
по-прежнему можно использовать, однако мы рекомендуем не делать этого).
FB.login( function(response) { console.log(response); }, { config_id: '<CONFIG_ID>' // configuration ID goes here } );
Ниже приведен пример кнопки входа из SDK для JavaScript, который изменен для использования конфигурации маркера доступа пользователя:
<fb:login-button config_id="<CONFIG_ID>" onlogin="checkLoginState();"></fb:login-button>
Информацию о том, как вызвать диалог входа вручную, см. в статье Создание процесса входа вручную. При вызове диалога входа и настройке URL перенаправления в качестве дополнительного параметра добавьте ID конфигурации (область действия можно использовать по-прежнему, однако мы рекомендуем не делать этого).
config_id=<CONFIG_ID>
Перед переключением на вход через Facebook для компаний рекомендуем вам провести тестирование и ознакомиться с перечнем потенциальных проблем.
Вход через Facebook для компаний можно использовать в бизнес-приложениях.
Если ваше приложение соответствует требованиям для переключения на использование входа через Facebook для компаний, выполните следующие действия, чтобы открыть баннер для предоставления согласия:
Обратите внимание: переключение на вход через Facebook для компаний не повлияет на ваши текущие маркеры доступа. Кроме того, все тестовые приложения, связанные с этим приложением, также переключаться на вход через Facebook для компаний.
После переключения для вашего приложения будет установлен тип Бизнес. Если приложение не работает должным образом, в течение 30 дней после переключения его можно вновь перевести на использование входа через Facebook.
Компании-клиенты могут получать сообщения об ошибках. Это происходит по следующим причинам:
Потенциальные важные изменения:
email
и (или) public_profile
, переключение на вход через Facebook для компаний приведет к тому, что все ранее установленные маркеры для этих клиентов станут недействительными; config_id
, и вам нужно будет заменить параметр config_id
параметром scope
.Подробнее о расширении Meta Business см. в этой статье.
Его можно выполнить, только если существующее приложение переключено на вход через Facebook для компаний. Новые приложения типа "Бизнес" нельзя переключить обратно на вход через Facebook.
Если после переключения на вход через Facebook для компаний ваше приложение не работает должным образом, вы можете вернуться к использованию входа через Facebook. Для этого выберите панель приложений > Вход через Facebook для компаний > Настройки и нажмите ссылку Переключиться на вход через Facebook. Вам будет предложено пройти опрос, который поможет нам повысить эффективность конфигурации входа через Facebook для компаний. Каждое приложение можно вновь перевести на использование входа через Facebook в течение 30 дней после первого переключения.
The easiest way to add Facebook Login for Business is to create a new Business Type app, where Facebook Login for Business is automatically available, and request supported business permissions through Meta App Review. If you want to use it for an existing None type app, your app must have advanced access to at least one supported business permission.
If you are not a Tech Provider building solutions using Meta’s business APIs, Facebook Login is recommended for consumer authentication.
Only request the minimum permissions necessary for your app's functionality. Be transparent with users about why you need each permissions and features. Note that the email
and public_profile
permissions must be requested with at least one other supported business permission.
Yes, advanced access to the public_profile
permission is required for Facebook Login for Business apps before they go live. This requirement is crucial to ensure that the app can support authorization from users who do not have an app role, commonly referred to as external users.