Commit 464d0189f6ab670b764982715cbb6e26425559d0

Authored by Geoffrey PREUD'HOMME
1 parent 377081e3

Sécurité

Showing 1 changed file with 36 additions and 4 deletions   Show diff stats
@@ -3,7 +3,28 @@ title: API d'Etunicorn @@ -3,7 +3,28 @@ title: API d'Etunicorn
3 baseUri: https://etunicorn.plil.net/{version}/ 3 baseUri: https://etunicorn.plil.net/{version}/
4 version: v1 4 version: v1
5 5
6 -# Les codes 400 et 403 sont implicites 6 +securitySchemes:
  7 + - oauth_2_0:
  8 + description: Il faut un token OAuth 2.0 pour utiliser cette API
  9 + type: OAuth 2.0
  10 + describedBy:
  11 + headers:
  12 + Authorization:
  13 + description: |
  14 + Utilisé pour envoyer un token d'accès OAuth 2. Ne pas envoyer en même temps que le paramètre de requête "access_token"
  15 + type: string
  16 + queryParameters:
  17 + access_token:
  18 + description: |
  19 + Utilisé pour envoyer un token d'accès OAuth 2. Ne pas envoyer en même temps que le header "Authorization"
  20 + type: string
  21 + responses:
  22 + 401:
  23 + description: Token expiré ou invalide. Reconnectez-vous
  24 + 403:
  25 + description: Permission refusée. Se re-connecter ne changera rien
  26 +
  27 +# Les codes 400 sont implicites
7 /login: 28 /login:
8 post: 29 post:
9 description: Instancie une nouvelle connexion 30 description: Instancie une nouvelle connexion
@@ -44,11 +65,12 @@ version: v1 @@ -44,11 +65,12 @@ version: v1
44 204: 65 204:
45 description: Déconnecté avec succès 66 description: Déconnecté avec succès
46 404: 67 404:
47 - description: Jeton non trouvé 68 + description: Jeton invalide ou expiré. À priori, vous êtes déjà déconnecté
48 /personne: 69 /personne:
49 get: 70 get:
50 - description: Obtenir la liste des persones  
51 - responses: 71 + securedBy: [oauth_2_0]
  72 + description: Obtenir la liste des persones
  73 + responses:
52 200: 74 200:
53 body: 75 body:
54 application/json: 76 application/json:
@@ -65,6 +87,7 @@ version: v1 @@ -65,6 +87,7 @@ version: v1
65 ] 87 ]
66 /{idPersonne}: 88 /{idPersonne}:
67 get: 89 get:
  90 + securedBy: [oauth_2_0]
68 description: Obtenir les infos sur une personne 91 description: Obtenir les infos sur une personne
69 responses: 92 responses:
70 200: 93 200:
@@ -83,6 +106,7 @@ version: v1 @@ -83,6 +106,7 @@ version: v1
83 404: 106 404:
84 description: Utilisateur non trouvé 107 description: Utilisateur non trouvé
85 put: 108 put:
  109 + securedBy: [oauth_2_0]
86 description: Modifer les infos d'une personne 110 description: Modifer les infos d'une personne
87 queryParameters: 111 queryParameters:
88 carte: 112 carte:
@@ -113,6 +137,7 @@ version: v1 @@ -113,6 +137,7 @@ version: v1
113 404: 137 404:
114 description: Utilisateur non trouvé 138 description: Utilisateur non trouvé
115 delete: 139 delete:
  140 + securedBy: [oauth_2_0]
116 description: Obtenir les infos sur une personne 141 description: Obtenir les infos sur une personne
117 responses: 142 responses:
118 204: 143 204:
@@ -120,6 +145,7 @@ version: v1 @@ -120,6 +145,7 @@ version: v1
120 404: 145 404:
121 description: Utilisateur non trouvé 146 description: Utilisateur non trouvé
122 post: 147 post:
  148 + securedBy: [oauth_2_0]
123 description: Ajoute une nouvelle personne 149 description: Ajoute une nouvelle personne
124 queryParameters: 150 queryParameters:
125 carte: 151 carte:
@@ -156,6 +182,7 @@ version: v1 @@ -156,6 +182,7 @@ version: v1
156 } 182 }
157 /role: 183 /role:
158 get: 184 get:
  185 + securedBy: [oauth_2_0]
159 description: Liste les rôles 186 description: Liste les rôles
160 responses: 187 responses:
161 200: 188 200:
@@ -180,6 +207,7 @@ version: v1 @@ -180,6 +207,7 @@ version: v1
180 } 207 }
181 ] 208 ]
182 post: 209 post:
  210 + securedBy: [oauth_2_0]
183 description: Ajoute un nouveau rôle 211 description: Ajoute un nouveau rôle
184 queryParameters: 212 queryParameters:
185 nom: 213 nom:
@@ -194,6 +222,7 @@ version: v1 @@ -194,6 +222,7 @@ version: v1
194 description: Un rôle avec le même nom existe déjà 222 description: Un rôle avec le même nom existe déjà
195 /{nomRole}: 223 /{nomRole}:
196 delete: 224 delete:
  225 + securedBy: [oauth_2_0]
197 description: Supprime un rôle 226 description: Supprime un rôle
198 responses: 227 responses:
199 204: 228 204:
@@ -201,6 +230,7 @@ version: v1 @@ -201,6 +230,7 @@ version: v1
201 404: 230 404:
202 description: Rôle inconnu 231 description: Rôle inconnu
203 post: 232 post:
  233 + securedBy: [oauth_2_0]
204 description: Ajoute une permission à un rôle 234 description: Ajoute une permission à un rôle
205 queryParameters: 235 queryParameters:
206 nom: 236 nom:
@@ -214,6 +244,7 @@ version: v1 @@ -214,6 +244,7 @@ version: v1
214 description: Permission ou rôle inconnu 244 description: Permission ou rôle inconnu
215 /{nomPermission}: 245 /{nomPermission}:
216 delete: 246 delete:
  247 + securedBy: [oauth_2_0]
217 description: Enlève la permission du rôle 248 description: Enlève la permission du rôle
218 responses: 249 responses:
219 204: 250 204:
@@ -222,6 +253,7 @@ version: v1 @@ -222,6 +253,7 @@ version: v1
222 description: Permission ou rôle inconnu 253 description: Permission ou rôle inconnu
223 /permission: 254 /permission:
224 get: 255 get:
  256 + securedBy: [oauth_2_0]
225 description: Liste les permissions 257 description: Liste les permissions
226 responses: 258 responses:
227 200: 259 200: