Segurança em spring boot com keycloak parte 1
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.