O documento descreve como configurar autenticação e autorização em aplicações Wildfly Swarm usando o Keycloak. Ele explica o que são Wildfly Swarm e Keycloak, como gerar um projeto Swarm, implementar código de autenticação e como configurar o Keycloak, incluindo criar um realm, cliente e usuários.
2. O que é Wildfly Swarm?
Um dos intuitos do Wildfly Swarm, é facilitar o desenvolvimento de aplicações
microservices.
Wildfly-Swarm usa
o conceito de
UberJar para gerar
o artefato final.
Que nada mais é
que um .jar
“gordo” com seu
.war mais as dep.
No wildfly-swarm
temos o conceito
de fraction, que
pode ser
comparado com
um subsystem de
um Serv.
Aplicação.
3. O que é o Keycloak?
A Keycloak é uma solução de gerenciamento de acesso e identidade de código
aberto voltada para aplicações e serviços modernos.
● Single-Sign On: Possibilita que o usuário faça login apenas uma vez, e
depois acesse todos os sistemas que estejam configurados no Keycloak.
Também provê uma tela de login;
● Admin Console: O Keycloak possui um excelente console administrativo,
que facilita muito o cadastro de novos cliente, usuários, roles etc.
● Standard Protocols: Keycloak é baseado em protocolos padrão e fornece
suporte para OpenID Connect, OAuth 2.0 e SAML.
4. O que é oKeycloak?
● Identity Brokering and Social Login: Podemos facilmente adicionar
botões de login pelas redes sociais, como facebook, twitter, github, google
entre outras.
5. Gerando projeto Swarm
1. Acessar http://wildfly-swarm.io/generator/ e preencher com os seguinte
dados:
a. Group ID: com.jugvale
b. Artifact ID: poc-swarm-keycloak
c. Dependencies: JAX-RS, EJB, Keycloak, CDI
8. Executando e configurando Keycloak
● Download em http://www.keycloak.org/downloads.html
● Unzip
● Na pasta “deszipada” executar:
sh bin/standalone.sh -Djboss.socket.binding.port-offset=100
● Acessar http://localhost:8180/auth/
10. Executando e configurando Keycloak
● REALM: O Realm é responsável por “cuidar” de toda configuração de
usuários, clientes, roles, credenciais e grupos
● Client: Um client nada mais é que uma aplicação ou serviço que
queremos que o Keycloak faça a segurança e providencie o Single Sign-
On.
○ Role: Criar a role “admin”
○ Fazer download do client adapter
● Users: Usuários que poderão acessar o sistema
○ Lembre-se de add a role “admin”