OAuth
OAuth é um protocolo de autorização que permite que aplicativos tenham acesso limitado a informações privadas das contas do Mercado Pago. Ele utiliza o protocolo HTTP e introduz uma camada de autenticação e autorização. Através desse protocolo, é possível solicitar acesso a recursos protegidos dos vendedores utilizando um Access Token que é limitado a um aplicativo específico, sem a necessidade de usar as credenciais dos vendedores através dos fluxos de acesso.
Access Token
É um código utilizado em diferentes requests públicos para acessar um recurso protegido. Ele representa uma autorização concedida por um vendedor a uma aplicação do cliente, contendo scopes e um tempo de validade limitado para o acesso.
Veja como obter e renovar o Access Token.
Temporary grants
Os temporary grants são códigos temporários utilizados para serem trocados por um Access Token. Ao contrário dos Access Token, eles só podem ser usados para chamadas com o servidor de autorização e nunca são enviados para servidores de recursos.
Como este é um fluxo baseado em redirecionamento, o cliente deve ser capaz de interagir com o agente do usuário do proprietário do recurso (normalmente um navegador web) e de receber solicitações de entrada (via redirecionamento) do servidor de autorização.
Tipos de temporary grants:
authorization_code
: duração de 10 minutos e o seu uso é único.refresh_token
: duração de 6 meses e podem ser reutilizados.
Fluxos de acesso (grant types)
Os fluxos, também conhecidos como grant types, são diferentes maneiras de uma aplicação obter um Access Token para acessar os dados expostos por uma API. No Mercado Pago, existem três fluxos de acesso disponíveis:
- Authorization code: fluxo baseado em redirecionamento e que deve ser usado quando se for usar as credenciais para acessar um recurso em nome de terceiros. Este fluxo é caracterizado pela intervenção do usuário para autorizar explicitamente o acesso aos seus dados pela aplicação e pelo uso de um código fornecido pelo servidor de autenticação para que a aplicação possa obter um Access Token e um
refresh_token
associado. Veja mais informações em Obter Access Token. - Refresh token: caso um Access Token gerado a partir do fluxo Authorization code esteja inválido ou expirado, este fluxo será usado para trocar um concessão temporária do tipo
refresh_token
por um Access Token. Ou seja, isso permite que o Access Token seja atualizado sem a necessidade de interação do usuário novamente após a autorização concedida pelo fluxo Authorization code. Veja mais informações em Renovar Access Token. - Client credentials: quando se for usar as credenciais para acessar um recurso em nome próprio, ou seja, é utilizado para obter um Access Token sem interação do usuário. Este fluxo é utilizado quando as aplicações solicitam um Access Token usando apenas as suas próprias credenciais para acessar seus próprios recursos, não podendo agir em nome de um usuário e acessar os seus dados. Veja mais informações em Obter Access Token.