Configurando Cliente Keycloak com Jots Assinados
Índice
- Introdução
- Configuração do Cliente OpenID Connect
- Acesso à console de administração do Keycloak
- Criando um novo cliente
- Configurando as propriedades iniciais do cliente
- Definindo as permissões e claims do token
- Gerando as chaves de autenticação
- Exportando a chave privada para uso externo
- Configuração do Jot Assinado
- Configurando o Stigma Watcher para utilizar o Jot Assinado
- Autenticação utilizando o Jot Assinado
- Conclusão
- Recursos
Configurando um Cliente OpenID Connect no Keycloak com Autenticação Jot Assinado
Introdução
No mundo moderno da tecnologia, a autenticação segura é uma das preocupações mais importantes para os desenvolvedores. O Keycloak é uma solução robusta que permite adicionar recursos de autenticação e autorização aos aplicativos de forma simples e eficiente. Neste artigo, vamos explorar como configurar um cliente OpenID Connect no Keycloak, habilitando a autenticação utilizando Jot assinado.
1. Acesso à console de administração do Keycloak
Antes de começarmos a configurar o cliente OpenID Connect, vamos acessar a console de administração do Keycloak. Para isso, abra um navegador de sua escolha e digite o endereço da console de administração do Keycloak.
2. Criando um novo cliente
Uma vez que estejamos na console de administração do Keycloak, vamos criar um novo cliente para utilizar o protocolo OpenID Connect. Para criar um novo cliente, siga os passos abaixo:
- Selecione o realm em que deseja adicionar o cliente.
- No painel de administração, navegue até a seção "Clients".
- Clique no botão "Create".
- No campo "Client ID", informe um ID significativo para o cliente.
- Certifique-se de que o protocolo selecionado para o cliente seja "OpenID Connect".
- Clique em "Save".
3. Configurando as propriedades iniciais do cliente
Agora que nosso cliente foi criado, precisamos realizar algumas configurações iniciais para garantir a segurança da autenticação. Siga os passos abaixo:
- No painel de configurações do cliente, vá até a seção "Settings".
- Defina o "Access Type" como "Confidential". Essa configuração permite habilitar recursos adicionais para a autenticação.
- Desabilite os fluxos OAuth que permitem autenticar usuários.
- Habilite o fluxo OAuth que permite autenticar Service Accounts, também conhecido como "Client Credentials Grant".
- Role a página para baixo e clique em "Save".
4. Definindo as permissões e claims do token
Para que o Keycloak emita tokens com as permissões e claims corretas, é necessário configurar os escopos e as claims do cliente. Siga os passos abaixo:
- No painel de configurações do cliente, vá até a seção "Client Scopes".
- Adicione os escopos desejados, como "stigma" e "watcher".
- Certifique-se de que o token emitido também contenha a claim "roles".
- Role a página para baixo e clique em "Save".
5. Gerando as chaves de autenticação
Agora que nosso cliente está configurado, vamos gerar as chaves de autenticação para utilizar o Jot assinado. Siga os passos abaixo:
- No painel de configurações do cliente, vá até a seção "Credentials".
- Se desejar utilizar o cliente usando apenas o ID e o segredo, você pode simplesmente utilizar o segredo gerado automaticamente pelo Keycloak.
- Caso queira utilizar o Jot assinado, você precisará fornecer a chave pública do cliente para o Keycloak. Você pode importar uma chave pública existente ou gerar um novo par de chaves.
- Para gerar um novo par de chaves, clique no botão "Generate".
- Selecione o formato para o arquivo de chaves. Recomendamos utilizar o formato "pkcs12", pois é amplamente suportado.
- Defina uma senha para a chave e para o arquivo.
- Clique em "Generate" e salve o arquivo de chaves gerado.
6. Exportando a chave privada para uso externo
A chave privada gerada pelo Keycloak está no formato "pkcs12", que nem sempre é suportado por todas as bibliotecas e frameworks. Caso precise utilizar a chave privada em outro formato, como o formato "pem", siga os passos abaixo:
- Abra um terminal ou prompt de comando.
- Utilizando a ferramenta OpenSSL, utilize o seguinte comando para extrair a chave privada do arquivo gerado anteriormente:
openssl pkcs12 -in meu-arquivo.p12 -nokeys -out chave-privada.pem
- Será solicitada a senha do arquivo. Digite a senha fornecida durante a geração do arquivo de chaves.
- Será solicitada uma nova senha para a chave privada. Defina uma senha e confirme.
- Agora você possui a chave privada extraída no formato "pem", pronta para ser utilizada em outros projetos.
Conclusão
Neste artigo, exploramos o processo de configuração de um cliente OpenID Connect no Keycloak, habilitando a autenticação utilizando Jots assinados. Com esta configuração, você pode adicionar uma camada adicional de segurança aos seus aplicativos, garantindo a autenticidade dos usuários. Experimente aplicar essas configurações em seus projetos e aproveite os benefícios do Keycloak!
Recursos: