Skip to content

Sistema de autenticação e autorização para Golang com e-mail e senha

License

Notifications You must be signed in to change notification settings

dariomatias-dev/go_auth

Repository files navigation

Sistema de autenticação e autorização para Golang com e-mail e senha

Esta aplicação em GoLang foi desenvolvida com o propósito de fornecer um exemplo prático de implementação de um sistema de autenticação e autorização, incluindo validação de e-mail. A aplicação utiliza e-mail e senha como credenciais para autenticação.

Tecnologias usadas

Requisitos

Certifique-se de ter os seguintes itens instalados antes de iniciar:

  • Go (versão utilizada no projeto: 1.21.6)
  • Docker
  • Imagem do PostgreSQL baixada
  • SQLC (foi instalado na maquina)

Instalação e Execução

Clone o repositório:

git clone https://github.com/dariomatias-dev/go_auth

cd go_auth

Abra o arquivo .env_example, remova do seu nome _example, depois preencha os campos que estão faltando.

Instale as depedências:

go mod download

Crie o container com o banco de dados:

docker-compose up -d

Obs.: Se estiver no Linux e tiver dado erro, provavelmente irá precisar colocar sudo antes do comando.

Rode a aplicação:

go run main.go

Endpoints

A API fornece os seguintes endpoints:

Rotas de autenticação

  • POST (login): Login
  • GET (refresh): atualização dos tokens
  • Post (validate-email): validação de email

Rotas de usuário

  • POST (user): criação de usuário
  • GET (user/:id): obtenção de usuário
  • GET (users): obtenção dos usuários
  • PATCH (user/:id): atualização de usuário
  • DELETE (user/:id): exclusão de usuário

Licença

Este projeto é licenciado sob a Licença MIT.