The English version of quarkus.io is the official project site. Translated sites are community supported on a best-effort basis.

Autenticação básica

Autenticação HTTP básica (Basic) é uma das técnicas menos exigentes em recursos, que impõe controles de acesso a recursos da Web. Você pode proteger os endpoints da sua aplicação Quarkus usando autenticação HTTP Basic. Quarkus inclui um mecanismo integrado de autenticação para autenticação básica.

A autenticação básica usa campos no cabeçalho HTTP e não depende de cookies HTTP, identificadores de sessão, ou páginas de login.

Cabeçalho de autorização

Um HTTP user agent, como um navegador web, usa um cabeçalho Authorization para fornecer um nome de usuário e uma senha em cada solicitação HTTP. O cabeçalho é especificado como Authorization: Basic <credentials>, onde as credenciais são a codificação Base64 do ID do usuário e senha, unidos por dois pontos.

Exemplo:

Se o nome de usuário for Alice e a senha for secret, o cabeçalho de autorização HTTP seria Authorization: Basic QWxjZTpzZWNyZXQ=, onde QWxjZTpzZWNyZXQ= é uma representação codificada em Base64 da string Alice:secret.

O mecanismo de autenticação Basic não oferece proteção de confidencialidade para as credenciais transmitidas. As credenciais são meramente codificadas com Base64 durante a transmissão, e não são criptografadas nem transformadas em hash de forma alguma. Portanto, para fornecer confidencialidade, use autenticação básica com HTTPS.

A autenticação básica é um esquema simples e bem especificado de desafio e resposta que todos os navegadores Web e a maioria dos servidores Web entendem.

Limitações ao usar autenticação básica (Basic)

A tabela a seguir descreve algumas limitações do uso da autenticação HTTP Basic para proteger seus aplicativos Quarkus:

Table 1. Limitações da autenticação HTTP Basic
Limitação Descrição

As credenciais são enviadas como texto simples

Use HTTPS com autenticação básica para evitar expor as credenciais. O risco de expor credenciais como texto simples aumenta se um balanceador de carga encerrar o HTTPS porque a solicitação é encaminhada para o Quarkus por HTTP. Além disso, em implantações multi-hop, as credenciais podem ser expostas se for usado HTTPS apenas entre o cliente e o primeiro endpoint do Quarkus, e as credenciais forem propagadas para o próximo endpoint do Quarkus por HTTP.

As credenciais são enviadas com cada solicitação

Na autenticação Basic, um nome de usuário e senha devem ser enviados com cada requisição, aumentando o risco de expor credenciais.

A complexidade da aplicação aumenta

A aplicação Quarkus deve validar se os nomes de usuário, senhas e papéis (funções) são gerenciados de forma segura. Este processo, no entanto, pode introduzir uma complexidade significativa na aplicação. Dependendo do caso de uso, outros mecanismos de autenticação que delegam o gerenciamento de nome de usuário, senha e papéis para serviços especializados podem ser mais seguros.

Implementando autenticação básica (Basic) no Quarkus

Para mais informações sobre como você pode proteger suas aplicações Quarkus utilizando autenticação Basic, consulte os seguintes recursos:

Controle de acesso baseado em função

Quarkus also includes built-in security to allow for role-based access control (RBAC) based on the common security annotations @RolesAllowed, @DenyAll, @PermitAll on REST endpoints and CDI beans. For more information, see the Quarkus Authorization of web endpoints guide.

Conteúdo Relacionado