Este guia explica alguns cenários comuns de portabilidade para que você crie seu app com a configuração adequada para atender às suas necessidades.
Os tokens de acesso são portáteis. Isso significa que, ao obter um token, você pode usá-lo em qualquer máquina. A combinação de interfaces da web, clientes móveis e servidores gera diversas configurações possíveis. No entanto, essas configurações distintas têm vantagens e desvantagens diferentes, em termos de recursos e segurança.
Configuração | Vantagens | Desvantagens | Observações sobre segurança |
---|---|---|---|
O login e as solicitações de API acontecem em um cliente da web (token de curto prazo). | A implementação é simples. | Não é possível publicar offline. Não há acesso de longo prazo. É necessário autenticar com frequência. | |
O login e as solicitações de API acontecem em um cliente web ou móvel nativo (token de longo prazo). | É possível fazer autenticação com menos frequência. | Não é possível publicar offline. | |
O login e as solicitações de API acontecem em um cliente da web (token de longo prazo depois da troca de código). | Há segurança adicional em determinadas situações. | É difícil de implementar. Não é possível publicar offline. | É útil apenas em situações específicas. |
O login ocorre em um cliente móvel nativo ou da web. As solicitações de API ocorrem em um servidor (com um token de longo prazo). | É possível publicar offline. Adiciona recursos de segurança disponíveis com chamadas baseadas em servidores. | O cliente deve chamar o servidor para processar as chamadas. | Use |
O login ocorre em um cliente móvel nativo ou da web. As solicitações de API ocorrem em um servidor ou no cliente. | É possível publicar offline. Permite publicação do cliente com foco no usuário. | É difícil de implementar. | Use |
Esta é a configuração mais simples, em que a autenticação e as solicitações de API ocorrem no cliente. Esse modelo tem três configurações possíveis:
Nesta configuração comum, a autenticação ocorre no cliente, mas as chamadas de API são feitas pelo servidor em nome do cliente. O servidor pode usar o parâmetro appsecret_proof
para aumentar a segurança durante a realização de chamadas.
Esta configuração é uma combinação das abordagens acima.
Há diferentes formas de especificar qual token de acesso deve ser usado em uma chamada de API nos nossos SDKs.
setCurrentAccessToken
do Android SDK do Facebook tem o parâmetro accessToken
.setCurrentAccessToken
do SDK para iOS do Facebook tem o parâmetro token
.FB.api()
do SDK para JavaScript do Facebook tem o parâmetro access_token
.