Não perca tempo criando sistema de autenticação
Tags: security, webdev, aws, j
Published: 2022-08-25 01:32:00

Se você está iniciando provavelmente vai ficar em dúvida em relação ao título do post mas ao longo quero descrever melhor o porque você criar um sistema de autenticação pode ser uma “perca de tempo”.

Lembrando que existem vários casos, neste post quero destacar alguns e você leve em consideração para seus próximos projetos.

## Contexto 

Sempre que vamos iniciar algum sistema novo usamos algum sistema de autenticação seja para cadastro ou login e por aí vai.. E ao longo período de dev vamos percebendo como é repetitivo e detalhista criar um ecossistema de autenticação, porque envolve dados sensíveis e tem todo um cuidado por trás, muitas das vezes ficamos um tempo pensando na melhor solução e como torná-la mais seguro e não deixamos o foco para o que importa o negócio em si.

## Solução

Para isso existe alguns sistemas “prontos” para você usar e passar por essa parte, quero destacar as vantagens e porque ou não usá-las :-p.

Tive uma experiência quando trabalhei em um projeto no banco Itaú, o qual precisávamos desenvolver uma solução rápida e efetiva para teste de hipóteses dos diretos, sendo assim não podíamos focar tanto em detalhes que não faziam sentido para o negócio tendo em vista o tempo.

No mesmo tempo o banco passava para uma migração para a AWS que isso foi uma coisa muita boa, aproveitando todo o contexto escolhemos algumas ferramentas da própria AWS para acelerar o desenvolvimento.

As stacks foram: Nextjs para o frontend, nodejs trabalhando com servelles para o Back end, e aqui vem a cereja do bolo o amplify da aws.

O amplify facilitou muito nossa esteira de desenvolvimento tanto do nosso cloud até o deploy literalmente graças a ela e algumas ferramentas como o cognito podemos acelerar o desenvolvimento de meses em semanas, mas o que ele faz ?

Amplify ele tem algumas ferramentas tendo como a principal o sistema de autenticação ou seja ele gera algumas telas prontas para uso de cadastro, login, resete de senha etc.. fora que tem um sistema de hosting próprio e algumas outras vantagens mas vamos focar no momento no de autenticação.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/99u7i0kpwgyefdbrhqhh.jpeg)

Com essa lib para uso podemos acelerar e focar na regra de negócio e no produto em si ao invés de focar em processo de autenticação e validação.

As vantagem são várias uma das primeira é imaginar quem cuida da sua segurança e da sua aplicação é a gigante Amazon com sua infraestrutura e vantagens.

Ao usar sistemas desse modelo devemos ver o ambiente e ecossistema utilizado como por exemplo esse senário é perfeito para quem todo seu ecossistema na aws e para quem usa o Google cloud ( GCloud ) você pode usar a ferramenta deles que no caso seria o **Identity and Access Management (IAM)**.

Quero também destacar um queridinho meu que é o Auth0 ele tem um ecossistema bem interessante e também pode usado para qualquer ambiente, tenho usado bastante para gerenciar minhas autenticação e controle de usuários.

O intuito nesse post foi apresentar esses serviços e mostrar algumas vantagens você já conhecia ? Se sim comenta aí. Qualquer dúvida me marca no Twitter ❤️

Meu Twitter: [@bendevoficial](https://twitter.com/bendevoficial)