Portabilidade de token de acesso

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.

Uso de tokens em diferentes tipos de app

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çãoVantagensDesvantagensObservaçõ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 appsecret_proof em todas as chamadas.

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 appsecret_proof em todas as chamadas feitas do servidor.

Solicitações de API e login de cliente nativo ou da web

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:

  1. O cliente nativo ou da web faz a autenticação e usa o token de curto ou de longo prazo retornado para fazer as chamadas.
  2. O cliente da web faz a autenticação e troca o token de curto prazo por outro de longo prazo por meio de um servidor. Esse token é enviado de volta ao cliente da web e usado por esse cliente para fazer chamadas de API.
  3. O cliente da web faz a autenticação e troca o token de curto prazo por outro de longo prazo por meio de um servidor. O servidor envia um código ao cliente. O cliente troca o código por um token de longo prazo, usando esse token para fazer chamadas de API. Essa configuração é raramente usada.

Fluxo de cliente nativo ou da web

Fluxo de cliente da web com token de longo prazo

Fluxo de cliente da web com troca de código

Login do cliente e chamadas de API do servidor

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.

Login do cliente e chamadas de API do servidor ou do cliente

Esta configuração é uma combinação das abordagens acima.

Configurar tokens de acesso usando o SDK

Há diferentes formas de especificar qual token de acesso deve ser usado em uma chamada de API nos nossos SDKs.