Apidog

All-in-one Collaborative API Development Platform

Design de API

Documentação de API

Depuração de API

Mock de API

Testes Automatizados de API

Inscreva-se gratuitamente
Home / Ponto de vista / [Guia] Tipos de Concessão do OAuth 2.0

[Guia] Tipos de Concessão do OAuth 2.0

O framework de autorização OAuth 2.0 fundamenta uma autorização segura ao oferecer um mecanismo para que aplicativos adquiram acesso limitado a contas de usuários em um serviço HTTP. Este guia explora os vários tipos de concessão utilizados dentro do OAuth 2.0, que ditam a forma como aplicativos clientes asseguram tokens de acesso para acessar recursos de usuários em um servidor de recursos.

💡
Apidog é uma poderosa ferramenta de desenvolvimento de API que permite aos desenvolvedores implementar diferentes tipos de protocolos de autenticação - incluindo OAuth 2.0.

Se você deseja saber mais sobre o Apidog e suas funcionalidades abrangentes, clique no botão abaixo para começar! 👇 
button

Antes de mergulhar mais fundo nos tipos de concessão do OAuth 2.0, vamos fazer um breve resumo sobre o que é OAuth 2.0.

O que é OAuth 2.0?

OAuth 2.0 é um protocolo de autorização padrão da indústria. Ele facilita a delegação de acesso seguro entre aplicativos (clientes) e contas de usuários hospedadas por serviços diferentes (servidores de recursos). Isso permite que os usuários concedam permissões a aplicativos para acessar suas informações no servidor de recursos sem compartilhar diretamente suas credenciais.

Quais são os Tipos de Concessão do OAuth 2.0?

O framework de autorização OAuth 2.0 é um tipo de mecanismo que define como aplicativos clientes adquirem tokens de acesso. Esses tokens de acesso são cruciais para avaliar recursos de usuários hospedados em um servidor separado (também conhecido como servidor de recursos). Ao empregar tipos de concessão, o OAuth 2.0 pode garantir uma autorização segura sem exigir que seus usuários exponham suas credenciais ao aplicativo cliente.

Análise Detalhada dos Diferentes Tipos de Concessão do OAuth 2.0

1. Concessão de Código de Autorização: Este fluxo amplamente utilizado prioriza a segurança. Ele envolve uma troca em quatro etapas:

  • O usuário consente que o aplicativo cliente acesse seus recursos.
  • O servidor de autorização retorna um código de autorização temporário ao cliente.
  • O cliente troca este código por um token de acesso do servidor de autorização.
  • O token de acesso é usado pelo cliente para acessar recursos de usuário no servidor de recursos.

Prós: Altamente seguro devido à separação entre o código de autorização e o token de acesso. Ideal para aplicativos do lado do servidor com armazenamento seguro para o segredo do cliente.

Contras: Requer múltiplos redirecionamentos entre o aplicativo cliente, servidor de autorização e servidor de recursos.

2. Concessão de Credenciais da Senha do Proprietário do Recurso: Este método utiliza diretamente as credenciais de login do usuário.

  • O aplicativo cliente obtém o nome de usuário e a senha do usuário.
  • Essas credenciais são enviadas ao servidor de autorização para verificação e troca de token.
  • Após verificação bem-sucedida, o cliente recebe um token de acesso.

Prós: Implementação direta, particularmente adequada para aplicativos de primeira parte confiáveis.

Contras: Menos seguro, pois expõe as credenciais do usuário. Não recomendado para aplicativos de cliente público devido a riscos de segurança.

3. Concessão de Credenciais do Cliente: Projetada para aplicativos que atuam em seu próprio nome, e não de um usuário específico.

  • O aplicativo cliente usa seu ID e segredo únicos para solicitar diretamente um token de acesso ao servidor de autorização.

Prós: Eficiente para interações máquina a máquina onde a participação do usuário não é necessária.

Contras: O acesso concedido é em nome do próprio aplicativo, não de um usuário específico. Requer consideração cuidadosa das permissões concedidas.

4. Concessão Implícita: Frequentemente usada em aplicativos móveis ou de página única, simplifica o fluxo retornando o token de acesso diretamente ao aplicativo cliente.

Prós: Experiência do usuário simplificada devido ao redirecionamento único.

Contras: Menos seguro, pois o token de acesso é exposto ao aplicativo cliente, potencialmente vulnerável a roubo. Não recomendado para aplicativos onde dados sensíveis estão envolvidos.

5. Concessão de Token de Atualização: Oferece um mecanismo para obter novos tokens de acesso sem exigir re-autenticação do usuário.

  • Quando um token de acesso expira, o aplicativo cliente utiliza um token de atualização obtido durante o fluxo inicial para solicitar um novo token de acesso ao servidor de autorização.

Prós: Melhora a experiência do usuário ao eliminar prompts de login frequentes.

Contras: Introduz outro token que precisa ser gerenciado de forma segura.

Como Escolher o Tipo de Concessão OAuth 2.0 Correto para sua API

1.Necessidades de Segurança:

  • Quando priorizando a segurança: Escolha a Concessão de Código de Autorização. Este fluxo separa o código de autorização e o token de acesso, minimizando o risco mesmo se o código for interceptado.
  • Se você tiver preocupações de segurança menores e um aplicativo cliente confiável: A Concessão de Credenciais da Senha do Proprietário do Recurso pode ser adequada, mas proceda com cautela, pois as credenciais do usuário estão diretamente envolvidas.

2.Experiência do Usuário:

  • Se uma experiência do usuário contínua é essencial: A Concessão Implícita oferece um fluxo rápido com um único redirecionamento. No entanto, tenha em mente que o token de acesso exposto levanta preocupações de segurança.
  • Você está tentando equilibrar conveniência com segurança? A Concessão de Código de Autorização oferece um bom compromisso, embora envolva mais redirecionamentos.

3.Tipo de Aplicativo Cliente:

  • O aplicativo cliente tem um armazenamento seguro do lado do servidor (ex: aplicativo web)? A Concessão de Código de Autorização e a Concessão de Credenciais do Cliente são ambas opções viáveis.
  • O cliente é um aplicativo público (ex: aplicativo móvel)? A Concessão de Código de Autorização com Chave de Prova para Troca de Código (PKCE) é recomendada para maior segurança. PKCE elimina o risco de roubo de código de autorização mesmo em ambientes públicos.
  • Comunicação máquina a máquina? A Concessão de Credenciais do Cliente é a melhor escolha aqui, concedendo tokens de acesso diretamente ao próprio aplicativo cliente.

Lembre-se:

  • Dados sensíveis? Sempre priorize a segurança e evite a Concessão Implícita.
  • Tokens de Atualização melhoram a experiência do usuário ao reduzir prompts de login, mas introduzem outra camada de gerenciamento.

Escolha a Autenticação OAuth 2.0 para sua API com Apidog

Apidog é uma plataforma de desenvolvimento de API tudo-em-um que permite aos desenvolvedores criar, testar, simular e documentar APIs. Com acesso a funcionalidades para todo o ciclo de vida da API, desenvolvedores de API que utilizam Apidog não precisarão mais se preocupar com a compatibilidade de software ao mover seus arquivos de API de um aplicativo para outro!

interface de simulação do apidog
button

Construindo APIs do Zero com Apidog

Se você precisa de uma ferramenta de API para ajudá-lo a criar APIs, o Apidog tem o que você precisa. Dê uma olhada nesta seção para entender como você pode usar o Apidog para criar APIs em pouco tempo.

nova api apidog

Comece pressionando o botão Nova API, conforme mostrado na imagem acima.

adicionar detalhes nova api apidog

Em seguida, você pode selecionar várias características da API. Nesta página, você pode:

  • Definir o método HTTP (GET, POST, PUT ou DELETE)
  • Definir a URL da API (ou endpoint da API) para interação cliente-servidor
  • Incluir um/múltiplos parâmetros a serem passados na URL da API
  • Fornecer uma descrição do que a funcionalidade que a API visa fornecer.

Para oferecer alguma assistência na criação de APIs, caso esta seja sua primeira vez criando uma, você pode considerar ler estes artigos para entender as melhores práticas para fazer APIs REST (ou APIs em geral):

URL da API REST - Melhores Práticas e Exemplos
As URLs da API REST têm uma estrutura ótima e padronizada. A maioria dos desenvolvedores concorda em se conformar ao padrão para aumentar a previsibilidade e familiaridade das URLs da API REST, permitindo que trabalhem melhor com elas.
Tutorial: Como Passar Múltiplos Parâmetros em URLs de API REST?
Dois tipos de parâmetros comumente vistos são amplamente utilizados em sites modernos. Embora diferam ligeiramente com base em suas funções, os parâmetros ajudam os desenvolvedores a identificar recursos específicos encontrados dentro de uma coleção ou sistema.

Selecionando a Autenticação OAuth 2.0 com Apidog

Com a interface de usuário simples e intuitiva do Apidog, você pode facilmente escolher OAuth 2.0 - ou qualquer outro tipo de autenticação - em questão de segundos!

nova solicitação selecione o tipo de autenticação apidog

Após criar uma nova solicitação, escolha o tipo de autenticação OAuth 2.0, como visto na imagem acima. Isso garantirá que suas APIs tenham melhor segurança!

Conclusão

Dominar os tipos de concessão do OAuth 2.0 capacita os desenvolvedores a criar fluxos de autorização seguros e amigáveis para suas aplicações. Ao avaliar cuidadosamente fatores como postura de segurança, experiência do usuário e tipo de aplicativo cliente, os desenvolvedores podem selecionar o tipo de concessão mais apropriado. Esta seleção assegura um equilíbrio entre controle de acesso robusto e uma jornada do usuário sem interrupções.

Compreender os tipos de concessão é uma habilidade essencial para desenvolvedores que trabalham com OAuth 2.0. Ao aproveitar o conhecimento apresentado neste guia, os desenvolvedores podem tomar decisões informadas ao projetar mecanismos de autorização seguros e eficientes para suas aplicações.



Junte-se à Newsletter da Apidog

Inscreva-se para ficar atualizado e receber os últimos pontos de vista a qualquer momento.