si7:configuration:apirest
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| si7:configuration:apirest [2021/02/28 12:07] – [Utilisation de diagrammes de séquence avec l'API REST] techer.charles_educ-valadon-limoges.fr | si7:configuration:apirest [2021/03/04 19:09] (Version actuelle) – techer.charles_educ-valadon-limoges.fr | ||
|---|---|---|---|
| Ligne 67: | Ligne 67: | ||
| | PUT| Mettre à jour| Remplacer ou mettre à jour une ressource existante. | | PUT| Mettre à jour| Remplacer ou mettre à jour une ressource existante. | ||
| | PATCH| Mise à jour partielle| Mettez à jour certains détails à partir d'une ressource existante.| | | PATCH| Mise à jour partielle| Mettez à jour certains détails à partir d'une ressource existante.| | ||
| - | | DEL| Supprimer| une ressource du système.| | + | | DELETE| Supprimer| une ressource du système.| |
| * **En-tête** : l'API REST utilise le format d' | * **En-tête** : l'API REST utilise le format d' | ||
| Ligne 112: | Ligne 112: | ||
| L' | L' | ||
| <uml> | <uml> | ||
| - | Client -> Serveur_HTTP/ | + | ==Requête GET== |
| - | Serveur_HTTP/ | + | Client -> Serveur_HTTP_S |
| - | Client -> Serveur_HTTP/ | + | Serveur_HTTP_S |
| - | Serveur_HTTP/ | + | Client -> Serveur_HTTP_S |
| - | ==Préparation du serveur OpenVPN== | + | Serveur_HTTP_S |
| + | Service_API -> BDDConfiguration : Fetch\nliste des périphériques | ||
| + | BDDConfiguration -> Service_API : Réponse\nliste des périphériques | ||
| + | Service_API -> Serveur_HTTP_S : Réponse\nliste des périphériques | ||
| + | Serveur_HTTP_S -> Client : HTTP/S Réponse\nliste des périphériques\nCode réponse 200\nSuccess | ||
| + | ==Requête POST en asynchrone== | ||
| + | Client -> Serveur_HTTP_S : HTTP/S : POST\nAjout équipement X | ||
| + | Serveur_HTTP_S -> Service_API : ADD\nAjout équipement X | ||
| + | Service_API -> Coeur_app : initiation\najout équipement | ||
| + | Coeur_app -> Service_API : Réponse\nID de la tâche | ||
| + | Service_API -> BDDConfiguration : ADD\nAjout équipement X | ||
| + | Service_API -> Client : HTTP/S : réponse ID de la tâche\nCode réponse 2020 (accepted) | ||
| + | BDDConfiguration -> Service_API : \nEcriture faite | ||
| + | Service_API -> Serveur_HTTP_S : \nEcriture faite\navec succès | ||
| + | Serveur_HTTP_S -> Client : HTTP/S Réponse\nliste des périphériques | ||
| </ | </ | ||
| + | |||
| + | ===== Authentification à une API REST ===== | ||
| + | Pour des raisons de sécurité, la plupart des API REST nécessitent une authentification afin que les utilisateurs aléatoires ne puissent pas créer, mettre à jour ou supprimer des informations de manière incorrecte ou malveillante, | ||
| + | |||
| + | Des API qui ne nécessitent pas d' | ||
| + | |||
| + | **L' | ||
| + | |||
| + | **L' | ||
| + | |||
| + | ==== Mécanismes d' | ||
| + | Les types courants de mécanismes d' | ||
| + | |||
| + | === Authentification de base === | ||
| + | Cette authentification utilise le schéma d' | ||
| + | |||
| + | C'est le mécanisme d' | ||
| + | |||
| + | <WRAP center round info> | ||
| + | Dans une requête d'API REST, les informations d' | ||
| + | < | ||
| + | Authorization: | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | === Authentification du porteur === | ||
| + | Ce mécanisme d' | ||
| + | |||
| + | <WRAP center round info> | ||
| + | Tout comme l' | ||
| + | |||
| + | Dans une requête d'API REST, les informations d' | ||
| + | < | ||
| + | Authorization: | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | === Clé API === | ||
| + | Une **clé API** ou jeton API, est une **chaîne alphanumérique unique générée par le serveur** et affectée à un utilisateur. Pour obtenir une clé API unique, l' | ||
| + | |||
| + | Tout comme avec les autres types d' | ||
| + | |||
| + | Les clés API sont destinées à être un mécanisme d' | ||
| + | |||
| + | Les deux types de clés API sont publiques et privées. | ||
| + | * Une clé d'API publique peut être partagée et permet à cet utilisateur d' | ||
| + | * une clé privée ne doit pas être partagée, car elle est similaire à votre nom d' | ||
| + | |||
| + | La plupart des clés d'API n' | ||
| + | |||
| + | <WRAP center round info> | ||
| + | Une requête API REST peut fournir une clé API de différentes manières: | ||
| + | < | ||
| + | Query string: Recommandé uniquement pour les clés API publiques | ||
| + | </ | ||
| + | |||
| + | * Header: Utilise la clé Autorisation ou une clé personnalisée | ||
| + | < | ||
| + | Authorization: | ||
| + | ou | ||
| + | Authorization: | ||
| + | ou | ||
| + | APIkey: <API Key> | ||
| + | </ | ||
| + | |||
| + | * Body data: Utilise une clé unique comme identifiant | ||
| + | < | ||
| + | Content-Type: | ||
| + | </ | ||
| + | |||
| + | * Cookie: Utilise une clé unique comme identifiant | ||
| + | < | ||
| + | Cookie: API_KEY=< | ||
| + | </ | ||
| + | </ | ||
| + | |||
| ==== Retour Activité A8 ==== | ==== Retour Activité A8 ==== | ||
| * [[glpi_gestionconfig_00|A8 - La gestion des configurations avec GLPI]] | * [[glpi_gestionconfig_00|A8 - La gestion des configurations avec GLPI]] | ||
si7/configuration/apirest.1614510430.txt.gz · Dernière modification : 2021/02/28 12:07 de techer.charles_educ-valadon-limoges.fr
