Autenticação e SSO via Keycloak
O Keycloak é nosso provedor principal de Identidade (IdP) e Single Sign-On (SSO). Ele permite que dezenas de aplicações que rodam na infraestrutura k8s e em VMs independentes se beneficiem de autenticação centralizada e federação com nosso Active Directory.
Arquitetura e Integração
- Toda aplicação recém-ativada será integrada como Client (protocolo
OIDCpreferencialmente ouSAML v2.0) num Realm específico do projeto (como o Realm Principal Corporativo). - Federação: Há User Federation habilitada puxando os usuários via LDAPs direto do nosso Active Directory, permitindo autenticação transparente.
Configuração Básica (Referência Técnica para Integração)
{
"realm": "pmdf",
"auth-server-url": "https://auth2.policia.df.gov.br/auth/",
"ssl-required": "external",
"resource": "client-id",
"public-client": true,
"confidential-port": 0
}Ambientes Críticos
Quando estiver criando um Client ID, garanta que as URIs de Redirecionamento Válidas (Valid Redirect URIs) estejam preenchidas apenas com URLs de produção ou staging daquela aplicação. O uso indiscriminado de * compromete a segurança.
Ciclo de Vida do Token (JWT)
O token JWT (access_token) padrão emitido é válido por 5 minutos rotacionáveis via refresh_token de 30 minutos, dependendo da criticidade exigida por serviço.
Guia Passo a Passo: Criação de OIDC Client
- Efetue login como Admin no painel do Keycloak.
- Certifique-se de estar no Realm correto no canto superior esquerdo.
- No menu lateral, acesse Clients.
- Clique no botão Create.
- Preencha o
Client IDinformando o nome da aplicação. - Mantenha o Client Protocol como
openid-connect. - Clique em Save.
- Na aba principal do cliente, cadastre adequadamente os campos Valid Redirect URIs e Web Origins.
- Em Access Type, mude para
confidentialse necessitar autenticação em back-end, salvando para gerar a aba de Credentials (onde fica oSecret).
Tokens e Autorização
Não compartilhe o Client Secret da aplicação com pessoas não autorizadas e nunca dê commit em repositórios de código fonte.