Este é um tema personalizado para Keycloak com design moderno e responsivo, seguindo a identidade visual da Overscore.
- ✅ Login responsivo
- ✅ Tela de registro
- ✅ Redefinição de senha
- ✅ Atualização de senha
- ✅ Autenticação OTP
- ✅ Configuração TOTP
- ✅ Telas de erro e informação
- ✅ Suporte a múltiplos idiomas
- ✅ Design adaptável para mobile e desktop
- ✅ Modo escuro automático
- Java 11 ou superior
- Maven 3.6+
- Docker (opcional, para testar com Keycloak)
-
Baixe o Keycloak:
# Baixe a versão mais recente do Keycloak wget https://github.com/keycloak/keycloak/releases/download/26.2.4/keycloak-26.2.4.tar.gz tar -xzf keycloak-26.2.4.tar.gz cd keycloak-26.2.4
-
Copie o tema para o Keycloak:
# Copie a pasta do tema para o diretório themes cp -r themes/overscore themes/
-
Inicie o Keycloak:
# Inicie o servidor ./bin/kc.sh start-dev
-
Acesse o Keycloak:
- URL: http://localhost:8080
- Usuário admin: admin
- Senha: admin
-
Crie um Dockerfile para o tema:
FROM quay.io/keycloak/keycloak:26.2.4 # Copie o tema personalizado COPY themes/overscore /opt/keycloak/themes/overscore # Exponha a porta EXPOSE 8080 # Comando padrão CMD ["start-dev"]
-
Construa e execute:
docker build -t keycloak-overscore . docker run -p 8080:8080 keycloak-overscore
-
Crie um docker-compose.yml:
version: '3.8' services: keycloak: image: quay.io/keycloak/keycloak:26.2.4 ports: - "8080:8080" environment: KEYCLOAK_ADMIN: admin KEYCLOAK_ADMIN_PASSWORD: admin volumes: - ./themes/overscore:/opt/keycloak/themes/overscore command: start-dev
-
Execute:
docker-compose up
- Acesse o console de administração do Keycloak
- Vá para Realm Settings > Themes
- Selecione overscore como tema de login
- Clique em Save
- Vá para Realm Settings > Localization
- Marque Internationalization enabled
- Selecione os idiomas desejados (en, pt-BR, es)
- Salve as configurações
- Vá para Realm Settings > Authentication
- Configure o fluxo de redefinição de senha
- Ative a opção Reset Password Allowed
-
Teste de Login:
- Acesse: http://localhost:8080/realms/master/account
- Verifique se o tema está aplicado
-
Teste de Responsividade:
- Abra as ferramentas de desenvolvedor do navegador
- Teste diferentes tamanhos de tela (mobile, tablet, desktop)
-
Teste de Idiomas:
- Verifique se o seletor de idioma funciona
- Teste a troca entre português, inglês e espanhol
-
Teste de Registro:
- Configure um realm de teste
- Ative o registro de usuários
- Teste o fluxo completo de registro
-
Teste de Redefinição de Senha:
- Configure o email (SMTP)
- Teste o fluxo de redefinição
-
Teste de TOTP:
- Configure autenticação de dois fatores
- Teste a configuração do TOTP
O tema é totalmente responsivo e funciona em:
- Desktop: 1200px+
- Tablet: 768px - 1199px
- Mobile: 320px - 767px
- Mobile pequeno: < 320px
@media (max-width: 768px)
: Layout em coluna@media (max-width: 480px)
: Otimizações para mobile@media (max-width: 320px)
: Telas muito pequenas
As cores principais do tema são:
- Primária: #0e4b4e (verde escuro)
- Secundária: #0a3a3d (verde mais escuro)
- Texto: #666 (cinza)
- Fundo: #f5f5f5 (cinza claro)
O tema suporta modo escuro automático baseado nas preferências do sistema:
@media (prefers-color-scheme: dark)
docker run -p 8080:8080 \
-v $(pwd)/themes/overscore:/opt/keycloak/themes/overscore \
quay.io/keycloak/keycloak:26.2.4 start-dev
version: '3.8'
services:
keycloak:
image: quay.io/keycloak/keycloak:26.2.4
ports:
- "8080:8080"
environment:
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin
volumes:
- ./themes/overscore:/opt/keycloak/themes/overscore
command: start-dev
# Se você já tem um container rodando
docker cp themes/overscore container_name:/opt/keycloak/themes/
# Reinicie o container
docker restart container_name
-
Verifique se o tema foi copiado corretamente:
ls -la /opt/keycloak/themes/overscore/
-
Verifique as permissões:
chmod -R 755 themes/overscore/
-
Reinicie o Keycloak após copiar o tema
- Limpe o cache do navegador
- Verifique se o arquivo CSS está sendo carregado
- Verifique a console do navegador para erros
- Verifique se o viewport está configurado
- Teste em diferentes dispositivos
- Use as ferramentas de desenvolvedor do navegador
themes/overscore/
├── login/
│ ├── login.ftl # Tela principal de login
│ ├── register.ftl # Tela de registro
│ ├── login-reset-password.ftl # Redefinição de senha
│ ├── login-update-password.ftl # Atualização de senha
│ ├── login-otp.ftl # Autenticação OTP
│ ├── login-config-totp.ftl # Configuração TOTP
│ ├── error.ftl # Tela de erro
│ ├── info.ftl # Tela de informação
│ ├── template.ftl # Template base
│ ├── theme.properties # Configurações do tema
│ ├── messages/ # Arquivos de internacionalização
│ └── resources/
│ ├── css/
│ │ └── styles.css # Estilos CSS
│ ├── js/
│ │ └── language-selector.js
│ └── img/
│ ├── overscore_logo.svg
│ └── overlabs_logo.png
Para contribuir com o projeto:
- Faça um fork do repositório
- Crie uma branch para sua feature
- Faça as alterações
- Teste localmente
- Envie um pull request
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Para suporte ou dúvidas:
- Abra uma issue no GitHub
- Entre em contato com a equipe Overscore