diff --git a/.gitignore b/.gitignore index 12f8f3a..a15e297 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ /vendor /bin /testdata -/release \ No newline at end of file +/release +/out \ No newline at end of file diff --git a/README.md b/README.md index 53d7113..041086a 100644 --- a/README.md +++ b/README.md @@ -8,17 +8,15 @@ Librairie implémentant un protocole d'authentification par "appairage" d'un ser ### Annonce du client -![advertise](./doc/sequence-diagram/advertise.svg) +![advertise](./doc/sequence-diagram/advertise.png) ### Mise à jour des attributs -![update](./doc/sequence-diagram/update.svg) +![update](./doc/sequence-diagram/update.png) ### Ping -![ping](./doc/sequence-diagram/ping.svg) - -**Statut** Instable +![ping](./doc/sequence-diagram/ping.png) ## Licence diff --git a/doc/sequence-diagram/advertise.plantuml b/doc/sequence-diagram/advertise.plantuml new file mode 100644 index 0000000..87d7282 --- /dev/null +++ b/doc/sequence-diagram/advertise.plantuml @@ -0,0 +1,15 @@ +@startuml +Client -> Server: POST /advertise\nX-Server-Token: \n\n{"Attributes": , "PublicKey": } +Server -> Server: Validate server token +alt Success + Server -> Server: Create peer with public key and attributes + Server -> Server: Update last contact for peer ID + Server -> Client: 201 Created +else Invalid server token + Server -> Client: 401 Unauthorized +else Malformed advertising request + Server -> Client: 400 Bad request +else Unexpected error + Server -> Client: 500 Server error +end +@enduml \ No newline at end of file diff --git a/doc/sequence-diagram/advertise.png b/doc/sequence-diagram/advertise.png new file mode 100644 index 0000000..009ab91 Binary files /dev/null and b/doc/sequence-diagram/advertise.png differ diff --git a/doc/sequence-diagram/advertise.seq b/doc/sequence-diagram/advertise.seq deleted file mode 100644 index 1f276b5..0000000 --- a/doc/sequence-diagram/advertise.seq +++ /dev/null @@ -1,2 +0,0 @@ -Client -> Server: POST /advertise\nX-Server-Token: \n\n{"Attributes": , "PublicKey": } -Server -> Client: 201 Created \ No newline at end of file diff --git a/doc/sequence-diagram/advertise.svg b/doc/sequence-diagram/advertise.svg deleted file mode 100644 index afc422e..0000000 --- a/doc/sequence-diagram/advertise.svg +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - -Client - -Client - - -Server - -Server - -POST /advertise -X-Server-Token: <JWT_TOKEN> -{"Attributes": <PEER_ATTRIBUTES>, "PublicKey": <PUBLIC_KEY> } - - - -201 Created - - - diff --git a/doc/sequence-diagram/ping.plantuml b/doc/sequence-diagram/ping.plantuml new file mode 100644 index 0000000..51175d8 --- /dev/null +++ b/doc/sequence-diagram/ping.plantuml @@ -0,0 +1,17 @@ +@startuml +Client -> Server: POST /ping\nX-Server-Token: \nX-Client-Token: +Server -> Server: Validate client/server tokens +alt Success + Server -> Server: Update last contact for peer ID + Server -> Client: 204 No Content +else Invalid client or server token + Server -> Client: 400 Bad request +else Peer not found + Server -> Client: 401 Unauthorized +else Peer rejected + Server -> Client: 403 Forbidden +else Unexpected error + Server -> Client: 500 Server error +end + +@enduml \ No newline at end of file diff --git a/doc/sequence-diagram/ping.png b/doc/sequence-diagram/ping.png new file mode 100644 index 0000000..1169e94 Binary files /dev/null and b/doc/sequence-diagram/ping.png differ diff --git a/doc/sequence-diagram/ping.seq b/doc/sequence-diagram/ping.seq deleted file mode 100644 index facd0d3..0000000 --- a/doc/sequence-diagram/ping.seq +++ /dev/null @@ -1,2 +0,0 @@ -Client -> Server: POST /ping\nX-Server-Token: \nX-Client-Token: -Server -> Client: 204 No Content \ No newline at end of file diff --git a/doc/sequence-diagram/ping.svg b/doc/sequence-diagram/ping.svg deleted file mode 100644 index c8de985..0000000 --- a/doc/sequence-diagram/ping.svg +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - -Client - -Client - - -Server - -Server - -POST /ping -X-Server-Token: <JWT_TOKEN> -X-Client-Token: <JWT_TOKEN> - - - -204 No Content - - - diff --git a/doc/sequence-diagram/update.plantuml b/doc/sequence-diagram/update.plantuml new file mode 100644 index 0000000..8879788 --- /dev/null +++ b/doc/sequence-diagram/update.plantuml @@ -0,0 +1,19 @@ +@startuml +Client -> Server: POST /update\nX-Server-Token: \nX-Client-Token: \n\n{"Attributes": } +Server -> Server: Validate client/server tokens +alt Success + Server -> Server: Save attributes + Server -> Server: Update last contact for peer ID + Server -> Client: 204 No Content +else Invalid client or server token + Server -> Client: 400 Bad request +else Malformed update request + Server -> Client: 400 Bad request +else Peer not found + Server -> Client: 401 Unauthorized +else Peer rejected + Server -> Client: 403 Forbidden +else Unexpected error + Server -> Client: 500 Server error +end +@enduml diff --git a/doc/sequence-diagram/update.png b/doc/sequence-diagram/update.png new file mode 100644 index 0000000..6adb54d Binary files /dev/null and b/doc/sequence-diagram/update.png differ diff --git a/doc/sequence-diagram/update.seq b/doc/sequence-diagram/update.seq deleted file mode 100644 index e882977..0000000 --- a/doc/sequence-diagram/update.seq +++ /dev/null @@ -1,2 +0,0 @@ -Client -> Server: POST /update\nX-Server-Token: \nX-Client-Token: \n\n{"Attributes": } -Server -> Client: 204 No Content \ No newline at end of file diff --git a/doc/sequence-diagram/update.svg b/doc/sequence-diagram/update.svg deleted file mode 100644 index e2cedfd..0000000 --- a/doc/sequence-diagram/update.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - -Client - -Client - - -Server - -Server - -POST /update -X-Server-Token: <JWT_TOKEN> -X-Client-Token: <JWT_TOKEN> -{"Attributes": <PEER_ATTRIBUTES>} - - - -204 No Content - - -