Logon único, permitindo a autenticação, autorização de usuários, aplicativos e serviços, trata-se de uma solução opensource da Red Hat.
- Criação de usuário (podendo ser criados pelo administrador do sistema, e habilitado ou não para o próprio usuário se cadastrar);
- Login, “esqueci minha senha”, login com plataformas externas como redes sociais;
- Integração dos usuários com Active Directory;
- Ativação de usuários por confirmação de e-mail;
- Obrigar aceitação de termos de uso antes de logar;
- Customização das páginas que o usuário acessa (como a própria tela de login);
- Serviços para que outras aplicações busquem dados de usuários;
- Criação de permissões que seu sistema vai usar;
- Criação de grupos de usuário;
Entre outras configurações e customizações mais avançadas que você pode definir!
Instruções para subir o ambiente do keycloak (banco e aplicação) - Ambiente de Desenvolvimento/Homologação
1 - Clone o projeto
git clone https://github.com/alanqueiroz/keycloak.git
2 - Acesse o diretório keycloak que foi clonado
cd keycloak
3 - Se deseja construir todo o ambiente (aplicação e banco) em único servidor, recomendado para ambiente de homologação/testes ou com restrição de recursos, renomeie o arquivo .env-template para .env. e siga as próximas instruções
- Nota: Se deseja construir um ambiente, onde o container da aplicação fique em um host diferente do host do container do banco, vá para o passo 6
mv .env-template .env
4 - Edite os campos (usuário e senha) referentes a aplicação e banco no arquivo .env, definindo os valores de sua preferência e salve o arquivo.
# BANCO - MYSQL
DB_PASS_ROOT=SenhaRootMySQL
DB_NAME=keycloak
DB_USER=usr_keycloak
DB_PASS=SenhaDBkeycloak
# APLICACAO - KEYCLOAK
DB_PORT=3306
DB_NAME_KEYCLOAK=keycloak
DB_USER_KEYCLOAK=usr_keycloak
DB_PASS_KEYCLOAK=SenhaDBkeycloak
USER_KEYCLOAK=Admin
PASS_USER_KEYCLOAK=SenhaKeycloak
5 - Execute o comando abaixo, para construir o ambiente completo (banco e aplicação) do keycloak
make up
Nota: Para destruir o ambiente completo (banco e aplicação) do keycloak, execute o comando abaixo:
make down
6 - Deploy do container do banco (MySQL), renomeie o .env-template-mysql para .env , definindo os valores de sua preferência e salve o arquivo.
# BANCO - MYSQL
DB_PASS_ROOT=SenhaRootMySQL
DB_NAME=keycloak
DB_USER=usr_keycloak
DB_PASS=SenhaDBkeycloak
6.1 - Execute o comando abaixo, para construir o container do banco MySQL
docker-compose -f mysql.yml up -d
7 - Deploy do container da aplicação (Keycloak), renomei o .env-template-keycloak para .env, definindo os valores de sua preferência e salve o arquivo.
# APLICACAO - KEYCLOAK
DB_PORT=3306
DB_ADDR=ip_ou_dns_servidor_mysql
DB_NAME_KEYCLOAK=keycloak
DB_USER_KEYCLOAK=usr_keycloak
DB_PASS_KEYCLOAK=SenhaDBkeycloak
USER_KEYCLOAK=Admin
PASS_USER_KEYCLOAK=SenhaKeycloak
7.1 - Execute o comando abaixo, para construir o container da aplicação Keycloak
docker-compose -f keycloak.yml up -d