Skip to content

Back-end com sistema de autenticação de usuários utilizando typescript, knex, nodemail e entre outros.

Notifications You must be signed in to change notification settings

lucasdksan/Backend-of-a-social-network

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sistema de autenticação com typescript 💾 📱 🔒

Resumo:{

Esse backend foca no sistema de autenticação utilizando typescript, knex e MySQL com banco de dados para o armazenamento das informações dos usuários.

A pasta @types contém algumas configurações typescript para algumas ferramentas (express e nodemailer-express-handlebar).

A pasta config possui os arquivos de configurações em json:

o arquivo auth.json contém o "segredo/chave de segurança" do token, isso para garantir que os token dos usuários são exclusivamente desse backend. Já o arquive mail.json contém as informações para o envio de email para recuperação de senha.

A pasta controller contém os arquivos para reproduzir os comandos base desse backend. authController.ts reproduz os comandos de criação de usuário, autenticação usuário, mudança de senha e a criação de um token para fazer o reset da senha. o arquivo projectController.ts e o tasks.ts servem para controlar as "atividades" de cada usuário.

Database é uma pasta que contém as migrations e a conexão com o banco de dados. Connection.ts é responsável pela conexão com o banco de dados, no caso o MySQL.

O arquivo auth.ts faz a verificação do token do usuário.

Além dessas aplicações apresentadas esse backend tem a funcionalidade de enviar o email para o usuário fazer o reset da senha. O conteúdo deste email é simplesmente o token para esse ato de password reset.

A pasta utils contém os arquivos de server para auxiliar o processo, para ser mais específico, contém algumas abstrações que grande repetição nos controllers.

  • Comparing é um código que faz uma comparação de informações enviadas com as do banco de dados.
  • Crypt faz a encriptação da senha do usuário para armazenar o armazenamento.
  • token é o arquivo que produz o token para a confirmação.

routes.ts e server.ts são utilizados para dar a vida ao backend.

}: //Fim do Resumo

Algumas explicações pontuais:{

Arquivo authController.ts É uma classe que contém 4 métodos.

create é o método para registrar o usuário no banco de dados. Recebe no corpo da solicitação o nome do usuário, email, senha e whatsapp. A newpassord é uma constante que contém a senha do usuário criptografada. Authenticate faz o serviço de autenticação pegando o e-mail e senha do usuário. Como no método de criação a senha é criptografada, a constante find é responsável por reverter essa ação, assim dando continuidade na verificação. ForgotPassword já se concentra na criação do token e no envio dessas informações para o e-mail do usuário. É acionado quando há uma solicitação de alteração de senha. O resetPassword já faz a verificação dos token, para caso seja o mesmo, a troca de senha seja feita.

}

About

Back-end com sistema de autenticação de usuários utilizando typescript, knex, nodemail e entre outros.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published