From 464d0189f6ab670b764982715cbb6e26425559d0 Mon Sep 17 00:00:00 2001 From: Geoffrey Frogeye Date: Sat, 28 Jan 2017 16:08:05 +0100 Subject: [PATCH] Sécurité --- api.raml | 40 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/api.raml b/api.raml index 0132dbf..9b406ed 100644 --- a/api.raml +++ b/api.raml @@ -3,7 +3,28 @@ title: API d'Etunicorn baseUri: https://etunicorn.plil.net/{version}/ version: v1 -# Les codes 400 et 403 sont implicites +securitySchemes: + - oauth_2_0: + description: Il faut un token OAuth 2.0 pour utiliser cette API + type: OAuth 2.0 + describedBy: + headers: + Authorization: + description: | + 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" + type: string + queryParameters: + access_token: + description: | + Utilisé pour envoyer un token d'accès OAuth 2. Ne pas envoyer en même temps que le header "Authorization" + type: string + responses: + 401: + description: Token expiré ou invalide. Reconnectez-vous + 403: + description: Permission refusée. Se re-connecter ne changera rien + +# Les codes 400 sont implicites /login: post: description: Instancie une nouvelle connexion @@ -44,11 +65,12 @@ version: v1 204: description: Déconnecté avec succès 404: - description: Jeton non trouvé + description: Jeton invalide ou expiré. À priori, vous êtes déjà déconnecté /personne: get: - description: Obtenir la liste des persones - responses: + securedBy: [oauth_2_0] + description: Obtenir la liste des persones + responses: 200: body: application/json: @@ -65,6 +87,7 @@ version: v1 ] /{idPersonne}: get: + securedBy: [oauth_2_0] description: Obtenir les infos sur une personne responses: 200: @@ -83,6 +106,7 @@ version: v1 404: description: Utilisateur non trouvé put: + securedBy: [oauth_2_0] description: Modifer les infos d'une personne queryParameters: carte: @@ -113,6 +137,7 @@ version: v1 404: description: Utilisateur non trouvé delete: + securedBy: [oauth_2_0] description: Obtenir les infos sur une personne responses: 204: @@ -120,6 +145,7 @@ version: v1 404: description: Utilisateur non trouvé post: + securedBy: [oauth_2_0] description: Ajoute une nouvelle personne queryParameters: carte: @@ -156,6 +182,7 @@ version: v1 } /role: get: + securedBy: [oauth_2_0] description: Liste les rôles responses: 200: @@ -180,6 +207,7 @@ version: v1 } ] post: + securedBy: [oauth_2_0] description: Ajoute un nouveau rôle queryParameters: nom: @@ -194,6 +222,7 @@ version: v1 description: Un rôle avec le même nom existe déjà /{nomRole}: delete: + securedBy: [oauth_2_0] description: Supprime un rôle responses: 204: @@ -201,6 +230,7 @@ version: v1 404: description: Rôle inconnu post: + securedBy: [oauth_2_0] description: Ajoute une permission à un rôle queryParameters: nom: @@ -214,6 +244,7 @@ version: v1 description: Permission ou rôle inconnu /{nomPermission}: delete: + securedBy: [oauth_2_0] description: Enlève la permission du rôle responses: 204: @@ -222,6 +253,7 @@ version: v1 description: Permission ou rôle inconnu /permission: get: + securedBy: [oauth_2_0] description: Liste les permissions responses: 200: -- libgit2 0.21.2