Introdução - Primeiros passos para a segurança de web services RESTful em Java - Vídeo 1
Autenticação em APIs RESTful
Analisando o projeto
Acessando dados do usuário
Programando o filtro de autenticação
Finalizando o filtro7
Testando a Web API
Aprimorando o controle de acesso
48 Gostei
Aprenda a programar web services RESTful seguros, utilizando para isso os mecanismos que a API JAX-RS e o framework Jersey disponibilizam. Mas, por que devo me preocupar com isso? Vamos responder a essa dúvida e falar sobre outros assuntos neste vídeo.
Neste curso vamos falar sobre um assunto de grande importância na construção de web services RESTful: a autenticação.
Mas, o que é autenticação?
Você já parou para pensar em como implementar a autenticação e adicionar mais segurança na Web API dos seus projetos?
Caso você esteja assistindo aos cursos sobre web services RESTful na ordem que sugerimos, deve estar notando que até agora nossas APIs são, digamos, 100% públicas, isto é, qualquer usuário pode obter os dados cadastrados, editar esses dados, cadastrar novos e, até mesmo, excluir os registros do banco de dados.
No entanto, sabemos que isso, na maioria das vezes, não é o desejado. Precisamos colocar "ordem na casa", precisamos dizer, de alguma forma, quem é que pode e quem não pode acessar determinadas funcionalidades. Enfim, precisamos adicionar mais segurança e controle à nossa Web API.
Agora, pensando um pouco: Como é que resolvemos esse problema em aplicações desktop, web, ou mesmo, mobile? Para atender essa necessidade, é comum programarmos um mecanismo de autenticação e autorização.
Com web services RESTful a solução é exatamente a mesma: programar um mecanismo de autenticação e autorização. No entanto, como podemos programar esse mecanismo? É exatamente esse o propósito desse curso, é sobre isso que vamos aprender a partir de agora, dando os primeiros passos na construção de um mecanismo de autenticação simples, utilizando a opção Basic Auth.
Ainda sobre o Basic Auth, é válido ressaltar que essa opção não é indicada para construção de sistemas para produção, mas é uma ótima escolha para quem está dando os primeiros passos quando o assunto é segurança e deseja conhecer os recursos oferecidos pela API JAX-RS e pelo Jersey para implementação da autenticação.
Sequência de cursos sugerida para aprendizado sobre web services RESTful:
Criando um serviço RESTful com Java
Jersey e Hibernate: Criando um web service RESTful
RESTful com Java: Paginação e validação em web services
Para cumprir o objetivo deste curso vamos utilizar as mesmas ferramentas já mencionadas nos que acabamos de indicar: os frameworks Jersey e Hibernate, as ferramentas Maven e Postman, o container Web Tomcat, o SGBD MySQL e a IDE Intellij IDEA.
Com relação aos pré-requisitos, além de conhecer o Intellij IDEA, o Postman e o MySQL, é indicado já ter utilizado o Maven, o Hibernate, assim como o Jersey. Temos conteúdos sobre todas essas tecnologias aqui na DevMedia, mas para aprender, principalmente, sobre esses três últimos, recomendamos que assista às seguintes publicações:
DevCast: O que é Maven?
Curso: Minha primeira app Java e Hibernate
Curso: Jersey e Hibernate: Criando um web service RESTful
Contextualizando o exemplo, suponha que fomos contratados por uma imobiliária para que os dados dos imóveis que ela gerencia - atualmente apenas de forma local - também possam ser acessados através da Web.
Com isso em mente, observando a tendência do mercado, decidimos que vamos criar essa solução utilizando web services RESTful. Isso permitirá à imobiliária oferecer, também, mais opções aos clientes, possibilitando o acesso aos imóveis tanto por uma página web quanto por aplicativos para dispositivos móveis.
Por fim, para assegurarmos a corretude dos dados, atendendo a pedidos da Imobiliária, a Web API permitirá que qualquer pessoa faça uma busca pelos imóveis, porém, apenas usuários autenticados, neste cenário, os funcionários, poderão cadastrar, editar e remover um imóvel.