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
api.raml
... ... @@ -3,7 +3,28 @@ title: API d'Etunicorn
3 3 baseUri: https://etunicorn.plil.net/{version}/
4 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 28 /login:
8 29 post:
9 30 description: Instancie une nouvelle connexion
... ... @@ -44,11 +65,12 @@ version: v1
44 65 204:
45 66 description: Déconnecté avec succès
46 67 404:
47   - description: Jeton non trouvé
  68 + description: Jeton invalide ou expiré. À priori, vous êtes déjà déconnecté
48 69 /personne:
49 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 74 200:
53 75 body:
54 76 application/json:
... ... @@ -65,6 +87,7 @@ version: v1
65 87 ]
66 88 /{idPersonne}:
67 89 get:
  90 + securedBy: [oauth_2_0]
68 91 description: Obtenir les infos sur une personne
69 92 responses:
70 93 200:
... ... @@ -83,6 +106,7 @@ version: v1
83 106 404:
84 107 description: Utilisateur non trouvé
85 108 put:
  109 + securedBy: [oauth_2_0]
86 110 description: Modifer les infos d'une personne
87 111 queryParameters:
88 112 carte:
... ... @@ -113,6 +137,7 @@ version: v1
113 137 404:
114 138 description: Utilisateur non trouvé
115 139 delete:
  140 + securedBy: [oauth_2_0]
116 141 description: Obtenir les infos sur une personne
117 142 responses:
118 143 204:
... ... @@ -120,6 +145,7 @@ version: v1
120 145 404:
121 146 description: Utilisateur non trouvé
122 147 post:
  148 + securedBy: [oauth_2_0]
123 149 description: Ajoute une nouvelle personne
124 150 queryParameters:
125 151 carte:
... ... @@ -156,6 +182,7 @@ version: v1
156 182 }
157 183 /role:
158 184 get:
  185 + securedBy: [oauth_2_0]
159 186 description: Liste les rôles
160 187 responses:
161 188 200:
... ... @@ -180,6 +207,7 @@ version: v1
180 207 }
181 208 ]
182 209 post:
  210 + securedBy: [oauth_2_0]
183 211 description: Ajoute un nouveau rôle
184 212 queryParameters:
185 213 nom:
... ... @@ -194,6 +222,7 @@ version: v1
194 222 description: Un rôle avec le même nom existe déjà
195 223 /{nomRole}:
196 224 delete:
  225 + securedBy: [oauth_2_0]
197 226 description: Supprime un rôle
198 227 responses:
199 228 204:
... ... @@ -201,6 +230,7 @@ version: v1
201 230 404:
202 231 description: Rôle inconnu
203 232 post:
  233 + securedBy: [oauth_2_0]
204 234 description: Ajoute une permission à un rôle
205 235 queryParameters:
206 236 nom:
... ... @@ -214,6 +244,7 @@ version: v1
214 244 description: Permission ou rôle inconnu
215 245 /{nomPermission}:
216 246 delete:
  247 + securedBy: [oauth_2_0]
217 248 description: Enlève la permission du rôle
218 249 responses:
219 250 204:
... ... @@ -222,6 +253,7 @@ version: v1
222 253 description: Permission ou rôle inconnu
223 254 /permission:
224 255 get:
  256 + securedBy: [oauth_2_0]
225 257 description: Liste les permissions
226 258 responses:
227 259 200:
... ...