Web API Java EE com autenticação por JWT
Nesta documentação aprenda a programar web services RESTful seguros utilizando JWT (JSON Web Tokens).
Projeto já adicionado aos favoritos. Clique aqui para ver todos seus favoritos
Obrigado pela sua avaliação, deixe o seu feedback nos comentários :D
Introdução
Neste curso vamos falar sobre como adicionar segurança em APIs RESTful utilizando JWT, ou, JSON Web Tokens, um dos mecanismos mais indicados atualmente quando o assunto é segurança em serviços web.
Você sabe o que é JWT? Não? Vejamos, graficamente, uma breve explicação.
Assim como quando programamos uma aplicação web precisamos nos preocupar com a segurança das informações trafegadas e o controle de acesso às funcionalidades disponibilizadas, quando programamos APIs RESTful essa preocupação também está presente.
É comum, portanto, a necessidade de restringirmos o acesso aos recursos oferecidos por essas APIs. Para prover esse controle de acesso implementamos mecanismos de autenticação e autorização.
Com a autenticação asseguramos, para a nossa API, que o usuário realmente é quem ele diz ser. Já com a autorização asseguramos que o usuário tem a permissão que precisa para acessar a funcionalidade por ele solicitada.
Dito isso, vamos aprender como prover esse controle de acesso a partir de uma das opções mais comentadas na atualidade: JWT. Assim, aprenderemos sobre JSON Web Tokens e como utilizá-lo junto com os recursos do Jersey para programarmos uma Web API segura.
Ferramentas e tecnologias
Para o desenvolvimento da API exemplo vamos utilizar os frameworks Jersey e Hibernate, o gerenciador de dependências Maven, o container Web Tomcat, o SGBD MySQL e a IDE Intellij IDEA.
Além disso, para simular o client App adotaremos o Postman e para manipular tokens JWT faremos uso da biblioteca JJWT. É com ela que iremos gerar os tokens, validá-los, assim como extrair as informações necessárias.
Conhecendo o exemplo
Para pôr tudo isso em prática, tomaremos como base uma API que fornece as funcionalidades de um CRUD de marcas e produtos. A partir dela programaremos a segurança da API de modo que possibilite a qualquer usuário buscar por marcas e produtos. No entanto, apenas funcionários da empresa que disponibiliza essa API poderão cadastrar, editar e excluir os dados.