update readme

This commit is contained in:
Matthieu Lamalle 2020-07-16 14:36:55 +02:00
parent ef96cadb2e
commit 17ae90ec05
2 changed files with 36 additions and 13 deletions

View File

@ -1,10 +1,13 @@
# Go-JWTServer
Serveur de gestion d'utilisateur et fournissant un token jwt.
Go-JWTServer met a disposition :
- Un serveur de stockage de utilisateur sous postgres et d'authenfication Jwt
- Un middleware d'authentification Jwt
Dépendances: docker, docker-compose
## Serveur
## Configuration
### Configuration
Editer le ficher `.env`
```
@ -21,8 +24,35 @@ db_host="localhost"
token_password="NotSoSecretJwtSecretPassword"
```
### Executer le serveur
Lancer le conteneur postgres
```make up```
Dans une autre console, lancer le serveur jwt
```make run```
## Middleware
Le middleware permet d'enregistrer et d'authentifier un utilisateur et
de vérifier la validité du token Jwt
##### Exemple
```
r := chi.NewRouter()
//add Jwt Authentification
r.Use(jwtmiddleware.JwtAuthentication)
.Route("/api/", func(r chi.Router) {
//Middleware routes
r.Post("/user/new", jwtmiddleware.CreateAccount)
r.Post("/user/login", jwtmiddleware.Authenticate)
})
```
## API
#### Enregistrer un utilisateur
##### Enregistrer un utilisateur
```
POST {{host}}/api/user/new
content-type: application/json
@ -32,7 +62,7 @@ content-type: application/json
"password": "test"
}
```
#### Authentifier un utilisateur
##### Authentifier un utilisateur
```
POST {{host}}/api/user/login
content-type: application/json
@ -42,7 +72,7 @@ content-type: application/json
"password": "test"
}
```
#### Réponse
##### Réponse
```
{
"account": {
@ -58,11 +88,3 @@ content-type: application/json
"status": true
}
```
## Executer le serveur
Lancer le conteneur postgres
```make up```
Dans une autre console, lancer le serveur jwt
```make run```

View File

@ -15,6 +15,7 @@ func InitializeRouter() chi.Router {
r.Use(middleware.Logger)
r.Use(middleware.Recoverer)
r.Use(middleware.URLFormat)
r.Use(jwtmiddleware.JwtAuthentication)
r.Use(middleware.Timeout(60 * time.Second))