Aproveite o mês das
carreiras na Alura

Até 44% OFF

Falta pouco!

00

DIAS

00

HORAS

00

MIN

00

SEG

Autenticação, autorização e segurança no front-end

Vinicios Neves
Vinicios Neves

Compartilhe

Segurança é um assunto super importante e a responsabilidade não é só do back-end.

Mas muitas vezes assuntos como autenticação, autorização e segurança se confundem. Então vamos percorrer esses tópicos e entender qual é o conceito por trás de cada um?

A autenticação está diretamente relacionada ao ato de confirmar se uma pessoa é realmente quem ela diz que é. Quando falamos de sistemas web, uma combinação de nome de usuário e senha que serão utilizados para confirmar a nossa identidade.

Banner da Imersão de IA da Alura com Google Gemini. Participe de aulas gratuitas online com certificado. Domine as inovações mais recentes da IA.

Se essas informações baterem com os dados que foram armazenados previamente, seguimos com o fluxo normal da aplicação. Como o site da Alura usa, por exemplo:

Formulário de autenticação do site da Alura com dois campos: e-mail e senha e três botões: entrar, entrar com o facebook e entrar com google.

Se você quiser se aprofundar mais no assunto, vou listar aqui 4 métodos de autenticação:

  • Autenticação multi-fator (multi factors authentication)

Aqui, além da combinação normal de usuário e senha, temos de informar um código adicional. Pode chegar por SMS, e-mail, por exemplo. Ou até mesmo podemos utilizar um aplicativo autenticador.

  • Baseado em certificado

Nesse cenário, utilizamos um certificado digital emitido por uma entidade certificadora homologada. Alguns sistemas do Governo utilizam esse método, principalmente para autenticar pessoas jurídicas (empresa).

  • Autenticação biométrica

No dia a dia, utilizamos a autenticação do próprio celular para nos autenticarmos: seja pela digital, pela retina, pela face.

  • Autenticação baseada em token

Essa é bem comum, quando se trata de autenticação de APIs. Existem vários tipos de tokens, e nesse link você encontra um artigo mega bacana do Neilton sobre Json Web Tokens.

A primeira coisa que você precisa confirmar é que você é quem você diz que é (usuário e senha). Uma vez que você foi autenticado(a), um outro processo é garantir o seu nível de acesso:

Bom, vamos pensar numa cafeteria. Se você é barista, não precisa ter acesso ao financeiro. Se você é do setor de compras, não precisa ter acesso às cafeteiras. Percebe a diferença?

Enquanto a autenticação está relacionada à identidade, a autorização está relacionada ao nível de acesso à informação.

Então, ter esse controle de acesso (autenticar e autorizar) faz parte da segurança de uma aplicação. Mas existem muitos outros aspectos importantes que devemos levar em consideração.

Um bom ponto de partida é acompanhar o TOP 10 OWASP, que lista os 10 itens mais importantes, segundo um consenso, relacionados à segurança.

No top 10 de 2021, o Broken Access Control está em primeiro lugar. Como o próprio nome diz, a falha acontece quando o controle de acesso é quebrado. Seja porque a pessoa utilizou uma senha fácil ou o atacante conseguiu burlar o sistema usando um ataque de força bruta.

Esse assunto é tão importante que existem profissionais específicos para cuidar desse tópico, passando por Analista de Segurança da Informação e chegando até em Dev Sec Ops.

Entender esses conceitos são essenciais para podermos desempenhar o nosso papel enquanto pessoas desenvolvedoras, seja do lado do back-end quanto do front-end.

Gostou do conteúdo? Que tal arriscar uns mergulhos mais fundos em uma das nossas formações?

Vinicios Neves
Vinicios Neves

Vinicios Neves, Tech Lead e Educador, mistura código e didática há mais de uma década. Especialista em TypeScript, lidera equipes full-stack em Portugal e inspira futuros desenvolvedores na FIAP e Alura. Com um pé no código e outro no ensino, ele prova que a verdadeira engenharia de software vai além das linhas de código. Além de, claro, ser senior em falar que depende.

Veja outros artigos sobre Front-end