O que é OAuth 2.0?

OAuth 2.0 é um protocolo de autorização que permite que aplicações terceiras acessem recursos protegidos em nome de um usuário, sem precisar compartilhar suas credenciais. É o padrão da indústria para autenticação segura.

Fluxo de autenticação

A Base39 utiliza o Client Credentials Flow, ideal para comunicação entre máquinas/serviços (M2M) onde não há interação do usuário. O processo é simples:

  1. Obtenção de Credenciais: Sua aplicação usa suas credenciais (Client ID e Client Secret)
  2. Solicitação de Token: Faz uma requisição direta para obter o token de acesso
  3. Acesso à API: Use o token para fazer requisições à API

Implementação

1. Registrar sua aplicação

Antes de começar, você precisa registrar sua aplicação com o time de suporte da Base39 para obter:

  • Client ID
  • Client Secret

2. Configurar URLs

  • URL de Token: https://auth.base39.com.br/oauth2/token

3. Escopos disponíveis

  • read: Permissão para ler dados
  • write: Permissão para escrever dados

4. Exemplo de implementação

// Obter token diretamente com credenciais
const tokenResponse = await fetch("https://auth.base39.com.br/oauth2/token", {
  method: "POST",
  headers: {
    "Content-Type": "application/x-www-form-urlencoded",
  },
  body: new URLSearchParams({
    grant_type: "client_credentials",
    client_id: "SEU_CLIENT_ID",
    client_secret: "SEU_CLIENT_SECRET",
    scope: "read write",
  }),
});

const { access_token } = await tokenResponse.json();

// Usar o token nas requisições
const apiResponse = await fetch("https://api.base39.com.br/v1/...", {
  headers: {
    Authorization: `Bearer ${access_token}`,
  },
});

Segurança

  • Nunca compartilhe seu Client Secret
  • Sempre use HTTPS
  • Armazene tokens de forma segura
  • Implemente refresh tokens para renovação automática
  • Revogue tokens quando não forem mais necessários
  • Use credenciais específicas para cada serviço
  • Monitore e audite o uso das credenciais