O Keycloak é um servidor de autenticação SSO que permite gerir a segurança de Aplicações Web e serviços REST. Abaixo segue algumas de suas características:
- SSO e Single Log out para aplicações
- Social Broker. É possível usar a autenticação do Google, Facebook, Yahoo e Twitter em suas aplicações sem código
Já tem um exemplo rodando no OpenShift, permitindo utilizar o conceito de IDaaS (ID-as-a-Service) em suas aplicações na nuvem - Cadastro de usuários
- Autenticação via senha e TOTP (Google Authenticator)
Nesse simples tutorial vou demonstrar como conectar na base de dados que vem embarcada no Keycloak, permitindo fazer alguns ajustes que hoje não é possivel ainda pela interface de gestão do servidor. Tive esse problema em um cliente recentemente.
Lembrando que estamos mexendo diretamente na base de dados, qualquer alteração indevida pode invalidar toda a sua solução exigindo até mesmo a instalação do zero novamente. Então lembre-se de manipular os dados com cuidado.
Vamos criar um shell script no linux usando o seguinte conteudo.
O conteúdo está com paths relativos a raiz de instalação do seu Keycloak/RH-SSO. Caso queira colocar em outro local, ajuste os paths de acordo com a sua realidade.
1 2 3 4 5 6 |
#!/bin/bash jar="./modules/system/layers/base/com/h2database/h2/main/h2-*.jar" url="jdbc:h2:./standalone/data/keycloak;AUTO_SERVER=TRUE" java -cp $jar org.h2.tools.Console -url "$url" -user sa -password sa |
No windows, o wildcard não funcionou corretamente. Quando eu tiver um tempo vejo o motivo. Então a forma mais rápida que encontrei foi substituir o wildcard pela versão do arquivo completa. Nesse caso precisa ver qual é a versão de acordo com a versão do Keycloak/RH-SSO que você possui instalado.
1 2 3 4 5 |
@echo off SET jar=".\modules\system\layers\base\com\h2database\h2\main\h2-<POR A VERSAO AQUI>.jar" SET url="jdbc:h2:.\standalone\data\keycloak;AUTO_SERVER=TRUE" java -cp %jar% org.h2.tools.Console -url "%url%" -user sa -password sa |
Voce terá acesso a tela abaixo:
Por hoje é isso.
Resolvi deixar essa dica curta porque tive certa dificuldade de conseguir fazer isso.
Mas como tudo nessa internet, nada melhor do que usar as palavras certas no google para localizar a resposta.
Abraços!!!!