Se és novo em autenticação e estás a criar uma app que gere logins, pagamentos ou dados de utilizadores, provavelmente já te deparaste com os termos JWT e OAuth. Podem soar como temas complexos, "apenas de backend", mas não são só para engenheiros de segurança.
Com APIs, integrações de terceiros e tecnologias emergentes como IA, MCP e sistemas baseados em agentes, estes dois desempenham um papel direto na usabilidade, segurança e crescimento do teu produto. Compreender o básico permite-te:
Conceber funcionalidades seguras desde o início
Comunicar eficazmente com a tua equipa de engenharia
Tomar melhores decisões de produto sobre autenticação e fluxos de utilizador
Evitar erros de segurança dispendiosos que afetam a confiança dos utilizadores
Por exemplo, na mais recente spec MCP, o sistema de autorização baseia-se em normas comprovadas:
OAuth 2.0 é uma framework de autorização amplamente adotada, que permite a uma aplicação (o cliente) aceder aos recursos de um utilizador com permissões limitadas, sem necessidade de partilhar as credenciais do utilizador (como passwords).
Tens múltiplos serviços ou APIs e queres OAuth para o fluxo seguro e JWT para tokens verificáveis entre serviços.
Ofereces login de terceiros como "Iniciar sessão com Google" onde OAuth gere o consentimento e o JWT transporta o access ou ID token.
Executas uma arquitetura de microserviços onde cada serviço pode validar JWTs localmente.
Precisar de escalabilidade com o modelo de delegação do OAuth e a verificação sem estado do JWT.
Exemplo:
A tua app permite login com Google. OAuth gere o processo de autorização, o Google emite um access token em JWT, e as tuas APIs verificam-no localmente antes de devolver dados.
JWT define como é o token e como transporta informação.
São complementares, não intercambiáveis.
A maioria das APIs modernas usa OAuth para fluxos de autorização e JWT para representação de tokens. Perceber ambos vai ajudar-te a conceber sistemas de autenticação seguros e escaláveis.