Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dariomatias-dev/go_auth
Sistema de autenticação e autorização para Golang com e-mail e senha
https://github.com/dariomatias-dev/go_auth
authentication authentication-backend autorization docker docker-compose gin go golang postgresql source-code sql sqlc
Last synced: 3 days ago
JSON representation
Sistema de autenticação e autorização para Golang com e-mail e senha
- Host: GitHub
- URL: https://github.com/dariomatias-dev/go_auth
- Owner: dariomatias-dev
- License: mit
- Created: 2024-01-17T21:42:35.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-04-07T14:05:05.000Z (7 months ago)
- Last Synced: 2024-10-18T15:16:59.979Z (28 days ago)
- Topics: authentication, authentication-backend, autorization, docker, docker-compose, gin, go, golang, postgresql, source-code, sql, sqlc
- Language: Go
- Homepage:
- Size: 99.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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
- [Go](https://go.dev/)
- [Gin](https://gin-gonic.com/)
- [SQLC](https://sqlc.dev/)
- [Docker](https://www.docker.com/)
- [PostgreSQL](https://www.postgresql.org/)## 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:
```bash
git clone https://github.com/dariomatias-dev/go_authcd go_auth
```Abra o arquivo `.env_example`, remova do seu nome `_example`, depois preencha os campos que estão faltando.
Instale as depedências:
```bash
go mod download
```Crie o container com o banco de dados:
```bash
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:
```bash
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.