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.
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)
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
A API fornece os seguintes endpoints:
- POST (login): Login
- GET (refresh): atualização dos tokens
- Post (validate-email): validação de email
- 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
Este projeto é licenciado sob a Licença MIT.