Autenticação Básica (Basic Authentication)
A Autenticação Básica continua a ser uma das formas mais diretas de autenticar utilizadores em APIs REST. O cliente envia as credenciais (nome de utilizador e palavra-passe) codificadas em Base64 através do cabeçalho Authorization. Embora simples e rápida de implementar, deve ser usada apenas em ambientes internos ou durante a prototipagem rápida, onde a segurança pode ser secundária.
➡️ Ideal para: Aplicações internas ou protótipos rápidos onde a segurança pode ser minimizada.
⚙️ Passos:
- Cliente solicita recurso.
- Servidor pede credenciais.
- Cliente envia nome de utilizador e palavra-passe.
- Servidor valida e retorna o recurso.
Autenticação por Token (Token-Based Authentication)
🔐 Depois do login inicial, o servidor gera um token (como JWT) que o cliente utiliza nas próximas requisições. Este token é enviado nos headers das chamadas, garantindo uma comunicação sem estado e altamente escalável.
➡️ Ideal para: Aplicações web, mobile e single-page apps modernas.
⚙️ Passos:
- Cliente faz login.
- Servidor cria e envia token.
- Cliente armazena token e envia em pedidos futuros.
- Servidor valida e responde com o recurso.
OAuth 2.0 – O Padrão de Ouro em Autenticação Externa
🚀 Framework poderoso e adaptável para autenticação baseada em tokens, o OAuth 2.0 permite que aplicações de terceiros acedam aos recursos dos utilizadores de forma segura sem partilhar credenciais. Perfeito para quem quer oferecer login com Google, Facebook, etc.
➡️ Ideal para: Cenários com acesso delegado ou integração com serviços externos.
⚙️ Passos:
- Cliente envia pedido de autorização.
- Servidor envia código de autorização.
- Cliente troca o código por um token de acesso.
- Cliente usa o token para aceder ao recurso protegido.
OpenID Connect – Identidade Verificada e Conectada
🧠 Construído sobre o OAuth 2.0, o OpenID Connect adiciona uma camada de identidade, permitindo verificar o utilizador e aceder ao seu perfil básico. Essencial para Single Sign-On (SSO) e gestão centralizada de utilizadores.
➡️ Ideal para: Aplicações empresariais com múltiplos serviços e login único.
⚙️ Passos:
- Cliente solicita autenticação.
- Servidor autentica e autoriza.
- Cliente recebe resposta de autenticação.
- Cliente obtém informações do utilizador.
- Servidor responde com dados do perfil.
API Key Authentication – A Chave Mágica para Comunicação entre Servidores
🔑 Um dos métodos mais simples: o cliente gera uma chave única e inclui-a nos headers ou parâmetros de query em cada pedido. Apesar da baixa segurança, é amplamente usado em comunicações entre servidores ou APIs públicas com restrições mínimas.
➡️ Ideal para: Comunicação server-to-server ou onde a simplicidade é essencial.
⚙️ Passos:
- Criar chave.
- Armazenar chave no cliente.
- Enviar pedidos com a chave.
- Acesso autorizado pelo servidor.