O Login do Facebook para Empresas é a solução de autorização e autenticação mais escolhida entre Provedores de Tecnologia e desenvolvedores de apps de empresa que precisam ter acesso aos ativos de clientes comerciais. É uma alternativa ao Login do Facebook. Caso você não seja um Provedor de Tecnologia nem esteja criando um app de empresa para ser usado por outras empresas, escolha o Login do Facebook como solução de autenticação.
Em comparação ao Login do Facebook, o Login do Facebook para Empresas permite especificar o tipo de token de acesso, os tipos de ativos, bem como as permissões necessárias ao seu app, e salvar essas escolhas como um conjunto (configuração). Dessa forma, você pode apresentar o conjunto aos clientes comerciais para que concluam o fluxo e concedam ao seu app acesso aos ativos de negócios deles. Isso remove a capacidade de uma empresa de conceder a você a permissão a certas categorias de informações que, geralmente, não são necessárias para um app de empresa. Dessa forma, você pode escolher entre diferentes tokens de acesso com base nas necessidades dos seus apps.
A maioria dos apps que podem acessar dados do usuário precisam passar por uma análise contínua. No entanto, se um app precisar apenas de permissões/recursos comerciais, você poderá ser elegível para instalar o Login do Facebook para Empresas, o que reduzirá a necessidade do app passar pela análise contínua.
Você pode solicitar as seguintes permissões dos seus clientes comerciais. Ao contrário do Login do Facebook, o Login do Facebook para Empresas exige que o cliente conceda todas as permissões especificadas na configuração.
As permissões email
e public_profile
são concedidas automaticamente a todos os apps. No entanto, elas precisam ser usadas com pelo menos uma outra permissão compatível em cada instalação do app.
A permissão public_profile
será concedida automaticamente a todos os apps. No entanto, ela não será retornada no parâmetro scope
, a não ser que pelo menos uma outra permissão compatível (exceto email
) seja concedida pelo usuário do app.
Permissões disponíveis | Tokens de acesso do usuário | Tokens de acesso do usuário do sistema de integração comercial |
---|---|---|
✓ | ✓ | |
✓ | ✓ | |
✓ | ✓ | |
✓ | ✓ | |
commerce_account_manage_orders | ✓ | ✓ |
commerce_account_read_orders | ✓ | ✓ |
commerce_account_read_reports | ✓ | ✓ |
commerce_account_read_settings | ✓ | ✓ |
commerce_manage_accounts | ✓ | ✓ |
email * | ✓ | N/A |
✓ | ✓ | |
instagram_content_publish | ✓ | ✓ |
✓ | ✓ | |
✓ | ✓ | |
✓ | ✓ | |
instagram_shopping_tag_products | ✓ | ✓ |
✓ | ✓ | |
manage_fundraisers | ✓ | ✓ |
✓ | ✓ | |
page_events | ✓ | ✓ |
✓ | ✓ | |
✓ | ✓ | |
✓ | ✓ | |
✓ | ✓ | |
✓ | ✓ | |
✓ | ✓ | |
✓ | ✓ | |
✓ | ✓ | |
✓ | ✓ | |
private_computation_access | ✓ | ✓ |
✓ | N/A | |
✓ | ✓ | |
✓ | ✓ | |
read_audience_network_insights | ✓ | ✓ |
✓ | ✓ | |
✓ | ✓ |
É possível usar o Login do Facebook para Empresas a fim de obter tokens de acesso do usuário do sistema de integração comercial ou tokens de acesso do usuário. Seus tokens de acesso atuais não serão afetados com a troca para o Login do Facebook para Empresas.
Os tokens de acesso do usuário do sistema de integração comercial são gerados pelo Login do Facebook para Empresas e devem ser usados em apps que executam ações programáticas e automatizadas nos objetos de anúncio ou nas Páginas dos clientes comerciais sem depender de uma entrada do usuário do app nem exigir uma nova autenticação em uma data futura. Por exemplo:
Para obter os tokens de acesso do usuário do sistema de integração comercial dos seus clientes:
Para testar o fluxo do token de acesso do usuário do sistema de integração comercial, o testador deve ter uma função no app.
Usuário do sistema regular | Usuário do sistema de integração comercial | |
---|---|---|
Representação | Representa servidores ou softwares que fazem chamadas de API para ativos pertencentes a ou gerenciados por um Gerenciador de Negócios. | Parte da infraestrutura de integração do Provedor de Tecnologia, inicializada pela empresa do cliente por meio da instalação do app do Provedor de Tecnologia. |
Acesso | Pode ser acessado apenas por usuários comerciais na mesma empresa. | Pode ser acessado apenas pelos Provedores de Tecnologia. |
Invalidação de token | Não aplicável. | Os tokens de acesso não podem ser invalidados via aba Usuário do sistema no Gerenciador de Negócios. Em vez disso, os clientes comerciais devem acessar o Gerenciador de Negócios > Configurações do negócio > Integrações > Apps conectados e clicar no botão Remover app para desinstalar o app, o que invalidará os tokens. |
Para determinados Provedores de Tecnologia (geralmente organizações maiores) que talvez precisem de diferentes configurações de acesso para diferentes fins ou departamentos, em vez de usarem o token de acesso de usuário do sistema de integração comercial por empresa cliente, há diversos tokens de acesso detalhados de usuário do sistema de integração comercial por empresa cliente disponíveis para melhorar a escalabilidade/segurança das operações.
Este ponto de extremidade permite aos desenvolvedores gerenciar o token de acesso do usuário do sistema existente da seguinte forma:
Objeto | Descrição |
---|---|
número inteiro | Obrigatório. Quando um usuário final instala um app por meio do fluxo de Login do Facebook para Empresas que gera o token de acesso do usuário do sistema no final, esse token será o escopo na empresa selecionada pelo cliente. |
string | Obrigatório. Como se trata de uma API de gerenciamento de tokens, precisamos de |
string | Obrigatório.
|
número inteiro | Opcional.
|
booliano | Opcional.
|
número inteiro | Opcional. Para gerar um token mais detalhado, defina uma lista de números de identificação |
booliano | Opcional. Para gerar um token mais detalhado, defina uma lista de números de identificação |
booliano | Opcional. Para gerar um novo token, é possível fazer com que o token expire em 60 dias. |
curl -i -X POST \ 'https://graph.intern.facebook.com/v17.0/2738613836382965/system_user_access_tokens?appsecret_proof=<app_secret_proof_sanitized>& access_token=<access token sanitized>& system_user_id={system_user_id}& fetch_only=true'
{ "access_token": "{access_token}" }
Os tokens de acesso do usuário devem ser usados em apps que realizam ações em tempo real, com base na entrada do usuário. Por exemplo, use um token de acesso do usuário se o app exigir que o usuário insira um texto e clique em um botão para publicar conteúdo na página dele. Os tokens de acesso do usuário também devem ser usados quando você precisa de uma API que exige permissões de administrador em uma conta empresarial da Meta.
Tokens de acesso do usuário do sistema | Tokens de acesso do usuário | |
---|---|---|
Associação à conta | Associado à conta empresarial do cliente, não a um usuário específico. Qualquer administrador no grupo de administradores do cliente pode conceder um token de acesso de usuário do sistema ao app. | Associado à conta pessoal do usuário do app. |
Tipo de concessão OAuth | Somente código de autorização. | Implícito por padrão. Usado principalmente para clientes baseados no agente do usuário, como navegadores da web e apps para celular. |
Expiração e atualização | Definido por padrão como nunca expira para a comunicação offline comum de servidor para servidor. | Um token de curta duração para atividades online, como navegadores da web. |
Designações de acesso | O acesso é designado explicitamente no momento da autorização. O app só pode acessar os ativos que foram designados pelo cliente comercial após ele concluir o fluxo do Login do Facebook para Empresas. | O acesso é herdado da conta atual do usuário do app. Ou seja, você pode ver os mesmos ativos de negócios aos quais o usuário do app tem acesso atualmente. |
Seus clientes empresariais podem invalidar os tokens de acesso do usuário do sistema de integração comercial. Para isso, eles devem acessar Gerenciador de Negócios > Configurações > Configurações do negócio > Integrações > Apps conectados e remover o app.
No caso de tokens de acesso do usuário, basta acessar Facebook, navegar até Configurações e privacidade > Configurações > Segurança e login > Integrações comerciais e remover o app.
Fluxo de login do token de acesso do usuário | Fluxo de login do token de acesso do usuário de integração comercial |
---|---|
Para testar o Login do Facebook para Empresas, você precisa criar um app de teste do tipo empresa no qual o Login do Facebook para Empresas seja instalado automaticamente.
Uma configuração é um agrupamento do tipo de token, ativos de negócios e permissões que o app exige dos clientes comerciais. Esse agrupamento será apresentado aos usuários como parte do fluxo de autenticação e autorização quando eles instalarem o app. É possível criar diversas configurações e apresentá-las a diferentes conjuntos de usuários, dependendo das necessidades do app. Para criar uma configuração:
A criação de uma configuração gerará uma identificação, que poderá ser usada com nossos SDKs (ou manualmente).
O recurso de Cadastro Incorporado do WhatsApp está disponível apenas para provedores de soluções de negócios (BSPs, pelas inicias em inglês).
whatsapp_business_management
e whatsapp_business_messaging
. O fluxo é otimizado apenas para o uso da Graph API do Instagram.
Para invocar o diálogo Entrar do Login do Facebook para Empresas, você pode usar nossos SDKs ou criar o fluxo de login manualmente.
É possível usar qualquer um dos nossos SDKs para invocar o diálogo Entrar. Para isso, basta substituir a lista de escopos (permissões) necessários ao app pelo ID da sua configuração e o tipo de concessão OAuth do token de acesso.
Caso você não conheça nossos SDKs, recomendamos primeiro instalar o SDK do JavaScript e usá-lo com o produto Login do Facebook para consumidores antes de prosseguir, já que os exemplos a seguir fazem referência a esse SDK.
Veja um exemplo do método FB.login()
do SDK do JavaScript modificado para usar uma configuração do token de acesso do usuário do sistema. A config_id
substituiu scope
(que não deve ser usado). Além disso, o response_type
foi definido como code
, já que os tokens exigem o tipo de concessão de código de autorização, e override_default_response_type
precisa ser definido como true
. Se for verdadeiro, todos os tipos de resposta transmitidos no response_type
terão precedência sobre os tipos-padrão.
FB.login( function(response) [ console.log(response); ], [ config_id: '<CONFIG_ID>', response_type: 'code', override_default_response_type: true ] );
Quando o usuário concluir o fluxo do diálogo Entrar, o redirecionaremos para sua URL e incluiremos um código. Depois, você precisará trocar o código por um token de acesso fazendo uma chamada de servidor para servidor aos nossos servidores.
GET https://graph.facebook.com/v19.0
/oauth/access_token?
client_id=<APP_ID>
&client_secret=<APP_SECRET>
&code=<CODE>
Consulte Como trocar um código por um token de acesso para saber mais sobre essa etapa.
Veja um exemplo do método FB.login()
do SDK do JavaScript modificado para usar uma configuração do token de acesso do usuário. A config_id
substituiu o scope
. Embora scope
ainda possa ser incluído, recomendamos que ele não seja usado.
FB.login( function(response) { console.log(response); }, { config_id: '<CONFIG_ID>' // configuration ID goes here } );
Veja um exemplo do botão Entrar do SDK do JavaScript modificado para usar uma configuração do token de acesso do usuário:
<fb:login-button config_id="<CONFIG_ID>" onlogin="checkLoginState();"></fb:login-button>
Consulte Criar manualmente um fluxo de login para saber como invocar o diálogo Entrar manualmente. Ao invocar o diálogo Entrar e definir a URL de redirecionamento, inclua o ID da sua configuração como um parâmetro opcional. Embora o escopo possa ser incluído, recomendamos que ele não seja usado.
config_id=<CONFIG_ID>
Recomendamos que você faça testes e identifique possíveis problemas antes de migrar para o Login do Facebook para Empresas.
O Login do Facebook para Empresas está disponível para todos os novos apps do tipo Empresa. Os apps existentes dos tipos Empresa e Nenhum que forem qualificados tiveram o Login do Facebook habilitado de forma automática ou podem habilitar o recurso.
Caso seu app esteja qualificado, você deverá ver uma banner para aceitar o uso do recurso seguindo estas etapas:
Para mudar para o Login do Facebook para Empresas, você precisa clicar no botão "Aceitar" no banner. Os apps de teste associados a esse app também terão o recurso ativado automaticamente.
Após a troca, seu app terá o tipo Empresa. Caso não esteja funcionando conforme o esperado, o app poderá retornar para o Login do Facebook em até 30 dias após a troca e só poderá fazer isso três vezes no máximo. Se o diálogo Entrar do Login do Facebook para Empresas for invocado pelo número de identificação da configuração, e se você decidiu retornar para o Login do Facebook, o diálogo Entrar pode não carregar, já que o Login do Facebook não é compatível com o parâmetro "config_id" e, em vez disso, você precisará substituir o parâmetro "config_id" pelo parâmetro "scope".
Os instaladores do app podem encontrar mensagens de erro pelas seguintes razões:
Possíveis alterações urgentes:
Caso seu app não esteja funcionando conforme o esperado após mudar para o Login do Facebook para Empresas, será possível desinstalá-lo revertendo-o para o Login do Facebook em Painel de Apps > Login do Facebook para Empresas > Configurações e clicando no link Mudar para Login do Facebook. Solicitaremos que você responda a uma pesquisa para nos ajudar a melhorar a experiência de configuração do Login do Facebook para Empresas. Cada app terá a oportunidade de reverter para o Login do Facebook em até 30 dias após troca e só poderá fazer isso três vezes no máximo.
O Login do Facebook para Empresas aceita apenas permissões e recursos específicos. Um app será inelegível se solicitar permissões ou recursos que não são compatíveis com o Login do Facebook para Empresas. As permissões email
e public_profile
precisam ser solicitadas com pelo menos uma outra permissão compatível.
Caso seu app seja inelegível, você poderá criar um novo app do tipo Empresa, para o qual o Login do Facebook para Empresas está automaticamente disponível e solicitar permissões comerciais compatíveis por meio da análise do app.
Solicite apenas as permissões mínimas necessárias para a funcionalidade do seu app. Seja transparente com os usuários sobre por que você precisa de cada permissão e recurso. As permissões email
e public_profile
precisam ser solicitadas com pelo menos uma outra permissão compatível para cada instalação do app. Você pode criar uma configuração para ver permissões compatíveis e agrupar suas solicitações de permissão para uma integração mais personalizada.