BrowserTools
Publicidade
Início / Codificadores / Gerador de cabeçalhos Basic Auth

Gerador de cabeçalhos Basic Auth

Constrói e descodifica cabeçalhos de autenticação HTTP Basic a partir de um nome de utilizador e de uma palavra-passe, inteiramente no teu navegador.

A carregar Gerador de cabeçalhos Basic Auth… Se nada acontecer, ativa o JavaScript.

A autenticação HTTP Basic é o esquema de credenciais mais simples definido para a web, especificado no RFC 7617. Para se autenticar, um cliente combina um nome de utilizador e uma palavra-passe numa única cadeia separada por dois pontos, codifica essa cadeia em base64 e envia-a num cabeçalho Authorization com o prefixo Basic. Um pedido a um endpoint protegido transporta, portanto, um cabeçalho como Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l. Como o esquema está integrado em praticamente todos os clientes HTTP, bibliotecas e gateways de API, continua a ser uma escolha comum para serviços internos, scripts, webhooks e testes rápidos de API onde um fluxo completo baseado em tokens seria exagerado.

Perguntas frequentes

O meu nome de utilizador e a minha palavra-passe são enviados para algum lado?
Não. Tanto a codificação como a descodificação correm inteiramente no teu navegador usando API integradas. As credenciais que escreves nunca são enviadas, registadas nem transmitidas a nenhum servidor. A ferramenta continua a funcionar sem ligação assim que a página é carregada, por isso é seguro usá-la com credenciais reais durante o desenvolvimento.
Como é construído um cabeçalho Basic auth?
O nome de utilizador e a palavra-passe são unidos com um único sinal de dois pontos numa cadeia, por exemplo aladdin:opensesame. Essa cadeia é codificada como bytes UTF-8 e depois em base64, produzindo YWxhZGRpbjpvcGVuc2VzYW1l. O cabeçalho final é a palavra Basic, um espaço e esse token: Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l.
A autenticação Basic é segura?
A Basic auth não oferece confidencialidade por si só. O token base64 é trivialmente reversível, por isso qualquer pessoa que o intercete fica a saber a palavra-passe instantaneamente. Só é segura quando enviada por HTTPS, onde o TLS cifra todo o pedido, incluindo o cabeçalho. Nunca envies Basic auth por HTTP simples e prefere esquemas baseados em tokens como os Bearer tokens ou o OAuth para qualquer coisa além do uso interno simples.
O que acontece se a minha palavra-passe contiver dois pontos?
Apenas o primeiro sinal de dois pontos separa o nome de utilizador da palavra-passe, por isso uma palavra-passe pode conter com segurança dois pontos adicionais. O nome de utilizador, contudo, não pode conter dois pontos, porque o servidor divide no primeiro. Ao descodificar, esta ferramenta também divide no primeiro sinal de dois pontos, preservando quaisquer outros como parte da palavra-passe.
Lida corretamente com caracteres não ASCII?
Sim. A ferramenta codifica o nome de utilizador e a palavra-passe como UTF-8 antes do base64, por isso as letras acentuadas, os alfabetos não latinos e os emoji são preservados exatamente. O base64 simples do navegador só suporta Latin-1 e lançaria um erro ou corromperia esses caracteres, por isso esta abordagem segura para UTF-8 corresponde ao que os clientes e servidores HTTP conformes fazem ao abrigo do RFC 7617.
Posso descodificar um token que já tenho?
Sim. Muda para o separador Decode e cola um token base64 simples ou um cabeçalho Authorization completo. A ferramenta remove automaticamente os prefixos Authorization e Basic, descodifica o valor em base64 e divide-o no primeiro sinal de dois pontos para mostrar o nome de utilizador e a palavra-passe originais.
Porque é que a descodificação às vezes falha ou não mostra dois pontos?
A descodificação falha se o valor colado não for base64 válido, muitas vezes por causa de espaços soltos, de uma cópia truncada ou de um esquema de autenticação diferente como Bearer. Se descodificar mas não contiver dois pontos, o token provavelmente não é um par de credenciais Basic auth, já que o esquema incorpora sempre uma cadeia utilizador:palavra-passe.
Como uso o cabeçalho gerado com o curl?
Copia a linha de cabeçalho completa e passa-a com a opção -H, por exemplo curl -H "Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l" https://api.example.com. Em alternativa, o curl pode construir o cabeçalho por ti com a opção -u: curl -u aladdin:opensesame https://api.example.com produz o mesmo resultado.

Sobre Gerador de cabeçalhos Basic Auth

Este gerador transforma um nome de utilizador e uma palavra-passe tanto no cabeçalho Authorization completo como no token base64 simples, cada um com o seu próprio botão de copiar para que possas largar o valor diretamente no curl, no Postman, numa chamada fetch ou num ficheiro de configuração. Usa um codificador seguro para UTF-8, o que importa porque o base64 simples no navegador só lida com caracteres Latin-1 por predefinição. Se o teu nome de utilizador ou palavra-passe contiver letras acentuadas, emoji ou qualquer caráter não ASCII, a ferramenta codifica os bytes corretamente para que o servidor recetor reconstrua as credenciais exatas que escreveste. A direção inversa também é suportada: cola um token base64 ou um cabeçalho Authorization completo e a ferramenta divide-o de volta no nome de utilizador e na palavra-passe que representa.

Tudo acontece localmente no teu navegador. As credenciais que introduzes nunca são enviadas, transmitidas nem armazenadas em nenhum servidor, o que torna a ferramenta segura para nomes de utilizador e palavras-passe reais durante o desenvolvimento e a depuração. Dito isto, a autenticação Basic não oferece confidencialidade por si só. O passo base64 é reversível por qualquer pessoa, por isso é codificação, não cifragem. A Basic auth só deve ser enviada por HTTPS, onde o TLS protege o cabeçalho em trânsito. Usa esta ferramenta para construir cabeçalhos de teste e para inspecionar tokens que tenhas recebido, e guarda as credenciais de produção num cofre de segredos adequado em vez de as escreveres à mão nos scripts.

O esquema de autenticação mais antigo que continua na web

A autenticação HTTP Basic remonta à especificação original do HTTP/1.0 de 1996 e sobreviveu essencialmente sem alterações desde então. O seu mecanismo é quase comicamente simples: pega num nome de utilizador e numa palavra-passe, cola-os com dois pontos, codifica o resultado em base64 e envia-o. Não há hashing, nem nonce, nem aperto de mão de desafio-resposta do tipo que se encontra na autenticação Digest. O passo base64 existe puramente para tornar bytes arbitrários de credenciais seguros de colocar num cabeçalho HTTP, não para esconder fosse o que fosse.

Essa simplicidade é exatamente a razão pela qual continua em todo o lado. Quase todas as bibliotecas HTTP expõem um auxiliar de uma linha para ela, os gateways de API e os proxies inversos suportam-na nativamente, e os programadores conseguem construir o cabeçalho à mão ao depurar. Os microsserviços internos, os endpoints de monitorização, os registos de pacotes e inúmeros sistemas legados ainda dependem dela porque é universalmente compreendida e não exige infraestrutura adicional. O senão é que as credenciais viajam em cada pedido individual, por isso a segurança de todo o esquema assenta inteiramente na camada de transporte por baixo dele.

As famosas credenciais de exemplo aladdin e opensesame, que aparecem no RFC 7617 e em muitos tutoriais, são um aceno ao conto de Ali Babá e os quarenta ladrões, onde opensesame (abre-te sésamo) é a frase mágica que abre a caverna escondida. É uma metáfora apropriada para um esquema de autenticação: diz o segredo certo e a porta abre-se. A lição que o conto e o esquema partilham é a mesma, um segredo dito ou transmitido só é tão seguro quanto os ouvidos que possam estar à escuta, que é a razão pela qual a Basic auth pertence estritamente dentro de um túnel HTTPS.

Publicidade
Publicidade
Publicidade