Série da semana: eXtreme Programming na prática

Veja mais
Menu de vídeos

1. Introdução

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.

06:14 min

Documentação

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ê sabe o que é autenticação? O que é autenticação usuário e senha Credenciais Credenciais válidas Vamos aprender?

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:

  1. O que é RESTful?
  2. Criando um serviço RESTful com Java
  3. Jersey e Hibernate: Criando um web service RESTful
  4. RESTful com Java: Paginação e validação em web services

Ferramentas e tecnologias

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.

Pré-requisitos

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:

  1. DevCast: O que é Maven?
  2. Curso: Minha primeira app Java e Hibernate
  3. Curso: Jersey e Hibernate: Criando um web service RESTful

Conhecendo o exemplo

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.

Nota do Editor

Por que optamos pela Basic Authentication?

  • Falar sobre segurança sem precisar conhecer uma opção de autenticação avançada;
  • Explorar recursos para autenticação fornecidos pelo Jersey;
  • Formar uma base sólida sobre autenticação, de forma a ser reaproveitada nos próximos cursos.

Sugestão de Conteúdo Prévio:

Baixar código fonte Baixar vídeo Ver Código Final
Avalie o curso
Suporte ao aluno - Deixe a sua dúvida.