https://github.com/santos95mat/go-microservice-token
Microserviço de criação e validação de Token por email.
https://github.com/santos95mat/go-microservice-token
docker email-sender fiber go gorm postgresql token
Last synced: 3 months ago
JSON representation
Microserviço de criação e validação de Token por email.
- Host: GitHub
- URL: https://github.com/santos95mat/go-microservice-token
- Owner: santos95mat
- License: mpl-2.0
- Created: 2023-11-10T13:08:14.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-04T15:31:41.000Z (over 2 years ago)
- Last Synced: 2026-04-10T22:40:11.228Z (3 months ago)
- Topics: docker, email-sender, fiber, go, gorm, postgresql, token
- Language: Go
- Homepage:
- Size: 43 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# go-microservice-token 
## Gerador e validador de Token para um determinado usuário.
#### - Para construção deste microservice foram seguidos os padrões de SOLID
#### - usado GORM para conectar ao banco de dados
#### - banco de dados Postgres
#### - usado Fiber para criação do microservice
## .ENV
#### Para conseguir rodar a aplicação sem erros, você deve criar o arquivo .env com as seguintes variáveis
```
# Porta onde a API vai rodar como mostra o exemplo abaixo
PORT=3000
# URL de conexão com o banco de dados como mostra o exemplo abaixo
DB_URL="host=localhost user=postgres password=admin dbname=postgres port=5432 sslmode=disable"
```
## Rodando a aplicação
```bash
# baixar todas as dependencias do microservice
$ go mod tidy
# rodar a migrate primeiro para criação da entidade no banco de dados
$ go run cmd/migrate/main.go
# start
$ go run cmd/api/main.go
```
## JSON
#### Para criar um Token você deve mandar no body um JSON com a seguinte informação
##### - Se o id informado não for um uuid um erro será gerado
##### - email para onde o token será enviado
##### - validation é a validade do token em minutos
```JSON
{
"user_id": "4cb16abd-be70-420d-82af-ecbf21c133a0",
"email" : "email@email.com",
"validation": 10
}
```
#### Para Validar o Token gerado você deve mandar no body um JSON com as seguintes informações
```JSON
{
"user_id": "4cb16abd-be70-420d-82af-ecbf21c133a0",
"token": "$r5D"
}
```