El inicio de sesión con Facebook para empresas es la solución de autenticación y autorización ideal para los proveedores de tecnología que crean integraciones con las herramientas empresariales de Meta con el fin de ofrecer soluciones de marketing, mensajería y ventas.
El inicio de sesión con Facebook para empresas te permite crear una experiencia de inicio de sesión en el panel de apps de Meta en función de las necesidades de tu app. Puedes especificar el tipo de token de acceso, los activos y los permisos que necesita tu app, y guardarlos en la configuración. Durante el inicio de sesión, a los usuarios de tu app se les muestra esta configuración, que les permite otorgar a tu app acceso a sus activos comerciales.
email
y public_profile
se conceden automáticamente a todas las apps, pero al menos uno de los otros permisos admitidos se debe incluir en cada instalación de app.En la siguiente tabla, se muestran los permisos disponibles para el inicio de sesión con Facebook para empresas.
Permisos disponibles | Token de acceso del usuario | Tokens de acceso del usuario del sistema de integración comercial (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 | ✓ | No aplicable |
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 | ✓ | No aplicable |
publish_video | ✓ | ✓ |
read_insights | ✓ | ✓ |
read_audience_network_insights | ✓ | ✓ |
whatsapp_business_management | ✓ | ✓ |
whatsapp_business_messaging | ✓ | ✓ |
|
|
|
Puedes usar el inicio de sesión con Facebook para empresas para obtener tokens de acceso del usuario del sistema de integración comercial o tokens de acceso de usuario.
Debes usar tokens de acceso de usuario si tu app realiza acciones en tiempo real, en función de las entradas del usuario. Por ejemplo, usa un token de acceso del usuario si tu app solicita a un usuario que ingrese texto y haga clic en un botón para publicar contenido en su página. También debes usar tokens de acceso del usuario si necesitas una API que solicite permisos de administrador en un portfolio comercial.
Los tokens de acceso del usuario del sistema de integración comercial deberán usarse si tu app realiza acciones automáticas programáticas en los activos de los clientes de negocios, sin la necesidad de basarse en una entrada de un usuario de la app ni de solicitar la reautenticación en una fecha futura. Por ejemplo:
Para obtener tokens de acceso del usuario de integración comercial a partir de tus clientes de negocios, ten en cuenta lo siguiente:
Para probar el proceso del token de acceso del usuario del sistema de integración comercial, el evaluador debe tener un rol en la app y el control total del negocio del cliente.
Si necesitas diferentes configuraciones de acceso para diferentes propósitos o departamentos, puedes usar varios tokens de acceso del usuario del sistema de integración comercial detallados por negocio del cliente, con el fin de mejorar la escalabilidad y la seguridad de tus integraciones.
Los tokens de acceso detallados siguen siendo específicos del portfolio comercial del cliente. No se pueden compartir ni es posible acceder a ellos desde diferentes empresas cliente. Su alcance y lista de activos son un subconjunto del token de acceso del usuario del sistema de integración comercial original.
Con el fin de aislar potenciales incidentes relativos a la seguridad, en caso de que haya un token comprometido, solo ese negocio del cliente se verá afectado y no todos los portfolios comerciales de todos los negocios del cliente.
Cuando un negocio del cliente instala una app mediante el inicio de sesión con Facebook para empresas y genera un token de acceso del usuario del sistema de integración comercial, el token incluye un identificador del negocio del cliente. Este identificador representa el negocio del cliente, y tu app lo usa para hacer llamadas a la API.
El punto de conexión /<CLIENT_BUSINESS_ID>/system_user_access_tokens
te permite administrar tus tokens de acceso del usuario del sistema de integración comercial preexistentes. Las acciones incluyen lo siguiente:
Objeto | Descripción |
---|---|
| Obligatorio. El token de acceso requiere el permiso |
| Obligatorio. El |
| Opcional. Si quieres generar un token más detallado, puedes configurar una lista de identificadores de |
| Opcional. La marca que debes usar para obtener el token actual e indicar que la operación es de solo lectura. |
| Opcional. Cuando quieres generar un token más detallado, puedes configurar una lista de identificadores de |
| Opcional. Cuando generes un nuevo token, configúralo en |
| Opcional. El identificador del usuario del sistema que se incluye en el token de acceso. |
El formato se modificó para facilitar la lectura.
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"
Si la operación se realiza correctamente, tu app recibirá una respuesta JSON con un nuevo token de acceso que podrá utilizarse en las posteriores llamadas a la API.
{ "access_token": "<NEW_ACCESS_TOKEN>" }
Tokens de acceso del usuario del sistema de integración comercial | Token de acceso del usuario | |
---|---|---|
Designaciones relativas al acceso | El acceso se delega explícitamente en el momento de la autorización. Tu app solo puede acceder a los activos que designó tu cliente de negocios cuando completó el proceso del inicio de sesión con Facebook para negocios. Proveedores de tecnología únicamente. | El acceso se hereda del acceso de la cuenta actual del usuario de la app. Tu app puede acceder a los mismos recursos comerciales a los que tiene acceso el usuario de la app en estos momentos. |
Asociación de cuentas | Asociado al portfolio comercial del cliente de negocios, en lugar de a un usuario específico. Los administradores del grupo de administradores del cliente de negocios pueden otorgar a tu app un token de acceso del usuario del sistema. | Asociado a la cuenta personal de Facebook del usuario de la app. |
Caducidad y actualización | Según el valor predeterminado, nunca caducan en el caso de las comunicaciones offline comunes de servidor a servidor. | Un token de corta duración en relación con las actividades en línea, como navegadores web. |
Tipo de permiso de OAuth | Solo permiso de código de autorización. | Permiso implícito de forma predeterminada, compatible con el permiso de código de autorización para obtener más seguridad. Se usa principalmente en el caso de los clientes basados en agentes de usuario, como navegadores web y apps para celulares. |
Representación | Parte de la infraestructura de integración del proveedor de tecnología, inicializada por el negocio del cliente a través de la instalación de la app del proveedor. | Representa a servidores o software que realizan llamadas de la API a activos que son propiedad del administrador comercial. |
Invalidación del token | Tus clientes del negocio pueden invalidar los tokens de acceso del usuario del sistema de integración comercial si van a Administrador comercial > Configuración > Configuración del negocio > Integraciones > Apps conectadas y eliminan tu app. | En el caso de los tokens de acceso del usuario, tus clientes del negocio pueden invalidarlos si van a Facebook, se desplazan a Configuración y privacidad > Configuración > Seguridad e inicio de sesión > Integraciones comerciales y eliminan la app. |
Proceso de inicio de sesión con el token de acceso de usuario | Proceso de inicio de sesión con el token de acceso de usuario de integración comercial |
---|---|
A continuación, te mostramos los pasos que debes seguir para configurar el inicio de sesión con Facebook para empresas si todavía no tienes una app.
Recibirás un identificador de configuración que deberás usar en tu código para invocar el cuadro de diálogo de inicio de sesión.
Para crear una configuración de registro insertado en WhatsApp, visita nuestra guía de registro insertado para WhatsApp.
Para crear una configuración de la API de conversiones para Business Messaging, visita nuestra guía de la API de marketing sobre la API de conversiones para Business Messaging.
Para crear una configuración de la API Graph de Instagram, visita nuestra documentación sobre la API Graph de Instagram.
Invoca un cuadro de diálogo de inicio de sesión usando uno de nuestros SDK (recomendado) o crea manualmente tu proceso de inicio de sesión.
Puedes usar cualquiera de nuestros SDK para invocar el cuadro de diálogo si reemplazas la lista de alcances (permisos) que requiere tu app con tu identificador de configuración y el tipo de permiso de OAuth necesario del token de acceso.
Si no tienes experiencia con nuestros SDK, te recomendamos que primero instales el SDK para JavaScript y que, antes de continuar, lo hagas funcionar con el producto de inicio de sesión con Facebook para consumidores, como se muestra en los siguientes ejemplos que hacen referencia al SDK.
Aquí te mostramos un ejemplo del método FB.login()
del SDK para JavaScript, que se modificó para configurar un token de acceso del usuario del sistema. Ten en cuenta que config_id
reemplazó a scope
(que no se debe usar), se configuró el response_type
en code
, dado que los SUAT requieren el tipo de permiso del código de autorización, y el override_default_response_type
se debe configurar en true
. Si es verdadero, cualquier tipo de respuesta que se pase en el response_type
tendrá prioridad sobre los tipos predeterminados.
FB.login( function(response) [ console.log(response); ], [ config_id: '<CONFIG_ID>', response_type: 'code', override_default_response_type: true ] );
Cuando el usuario complete el proceso del cuadro de diálogo de inicio de sesión, lo redirigiremos automáticamente a tu URL de redireccionamiento e incluiremos un código. Luego, deberás intercambiar este código por un token de acceso, para lo que es necesario realizar una llamada de servidor a servidor a nuestros servidores.
GET https://graph.facebook.com/v21.0
/oauth/access_token?
client_id=<APP_ID>
&client_secret=<APP_SECRET>
&code=<CODE>
Consulta Intercambiar código por un token de acceso para obtener más información sobre este paso.
Aquí te mostramos un ejemplo del método FB.login()
del SDK para JavaScript, que se modificó para configurar el token de acceso de usuario. Ten en cuenta que config_id
reemplazó a scope
(aunque se puede seguir usando scope
, te recomendamos no hacerlo).
FB.login( function(response) { console.log(response); }, { config_id: '<CONFIG_ID>' // configuration ID goes here } );
Aquí te mostramos un ejemplo del botón de inicio de sesión del SDK para JavaScript, que se modificó para configurar el token de acceso de usuario:
<fb:login-button config_id="<CONFIG_ID>" onlogin="checkLoginState();"></fb:login-button>
Consulta Crear un proceso de inicio de sesión de forma manual para obtener información sobre cómo invocar el cuadro de diálogo de inicio de sesión de manera manual. Al invocar el cuadro de diálogo de inicio de sesión y configurar la URL de redireccionamiento, incluye el identificador de tu configuración como parámetro opcional (aunque aún se puede incluir el alcance, te recomendamos no hacerlo).
config_id=<CONFIG_ID>
Te recomendamos realizar pruebas e informarte sobre los problemas que puedan surgir antes de cambiar al inicio de sesión con Facebook para empresas.
El inicio de sesión con Facebook para empresas está disponible en las apps de tipo de negocios.
Si tu app cumple los requisitos para cambiar al inicio de sesión con Facebook para empresas, deberías poder ver un banner de opción al seguir los pasos que se indican a continuación:
Ten en cuenta que tus tokens de acceso actuales no se verán afectados al cambiar al inicio de sesión con Facebook para empresas. Además, toda app de prueba vinculada a esta app también cambiará al inicio de sesión con Facebook para empresas.
Después de realizar el cambio, tu app se encontrará dentro del tipo "Negocios". Si tu app no funciona como estaba previsto, podrá volver al inicio de sesión con Facebook dentro de los 30 días posteriores al cambio.
Es posible que los clientes comerciales vean mensajes de error por los siguientes motivos:
Posibles cambios radicales:
email
o public_profile
a tus clientes comerciales, cambiar la app al inicio de sesión con Facebook para empresas provocará que caduque la validez de todos los tokens instalados previamente para estos clientes. config_id
. En ese caso, reemplaza el parámetro config_id
por el parámetro scope
.Obtén más información sobre la extensión de Meta para empresas.
Esta función solo está disponible si una app preexistente cambió al inicio de sesión con Facebook para empresas. Las apps de tipo de negocios que se crearon recientemente no pueden volver al inicio de sesión con Facebook.
Después de volver al inicio de sesión con Facebook para empresas, si tu app no funciona según lo esperado, puedes volver al inicio de sesión con Facebook. Para ello, ve al panel de apps > Inicio de sesión con Facebook para empresas > Configuración y haz clic en el enlace Cambiar al inicio de sesión con Facebook. Se te mostrará una encuesta, que nos ayudará a mejorar la experiencia a la hora de configurar el inicio de sesión con Facebook para empresas. Las apps pueden volver al inicio de sesión con Facebook dentro de los 30 días posteriores al cambio.
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.