Segurança em spring boot com keycloak parte 1

Odilio Noronha
RapaduraTech
Published in
3 min readSep 13, 2019

Hoje segurança é indispensável. Queremos permanecer seguros em todos os lugares. Para tanto, usamos chaves, senhas, impressões digitais...

Como desenvolvedores, quando criamos um sistema, ele deve ter autenticação e autorização. Somos obrigados a implementar cada sistema individualmente. É cansativo continuar tendo que criar modos de autenticação. É preciso muito trabalho … Felizmente, esse problema foi solucionado pela criação de sistemas Single Sign On, como o Keycloak.

Uma única conta vinculada a todas as suas contas. Isso oferece muitos benefícios para todos. Para os usuários, eles podem ter uma conta para governar todos eles. Para os desenvolvedores, não é necessário desenvolver um módulo de autenticação para cada aplicativo.

Keycloak

O Keycloak oferece recursos como logon único (SSO), login social, federação de usuários, um console de administração e um console de gerenciamento de contas. Para saber mais sobre o Keycloak, visite a página oficial. Em nosso tutorial, usaremos o Console de administração do Keycloak para configurar e conectar-se ao Spring Boot usando o Keycloak Client Adapter.

Baixando e Instalando

Primeiramente vá no site do keycloak, https://www.keycloak.org/downloads.html e baixe a ultima versão, atualmente estamos na versão 7.0

Descompacte e vá até a pasta bin, lá você terá o arquivo standalone, .sh para linux e .bat para windows, basta executar para iniciar o startup de sua aplicação.

Após a inicialização do servidor, abra http://localhost:8080/auth no seu navegador da web. A página de boas-vindas indicará que o servidor está em execução.

Digite um nome de usuário e senha para criar um usuário administrador inicial. Essa conta poderá fazer login no console de administração do realm principal, a partir do qual você criará dominios e usuários e registrará aplicativos a serem protegidos pelo Keycloak.

Depois de criar a conta administrativa inicial, use as seguintes etapas para efetuar login no console administrativo: Clique no link Console de administração na página Bem-vindo ou acesse diretamente o URL do console http://localhost:8080/auth/admin/. Digite o nome de usuário e a senha que você criou na página Bem-vindo para abrir o Keycloak Admin Console.

A tela inicial do keycloak é mais ou menos essa

Você irá clicar em add Realm e nomeá-lo de spring, depois em clientes vamos adicionar um novo cliente, chame de login. Você irá ser direcionado para as configurações do seu cliente.

Deixaremos tudo padrão, exceto o “Valid Redirect URIs”. Digite a url para a porta 8081:

Agora vamos criar uma role para o nosso cliente, vá em roles, clique em add roles nomeie de usuario e clique em save. Depois vá em users e adicione um usuario com username usernamemeu. Clique na aba credentials e coloque a senha password, depois na aba Role Mappings nos iremos adicionar a role que criamos, usuario.

Conclusão

Este artigo foi uma introdução ao Keycloak nos próximos posts daremos continuidade a nossa aplicação. Falamos brevemente sobre o que é e quais são os principais recursos que usaremos ao longo desta série. Em seguida, baixamos, instalamos e iniciamos o servidor Keycloak. Por fim, criamos um usuário administrador, acessamos o Admin Console e criamos um usuário com uma role. No próximo artigo iremos criar nosso login em spring boot.

--

--