Outils pour utilisateurs

Outils du site


si7:configuration:apirest

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
si7:configuration:apirest [2021/03/01 08:29]
techer.charles_educ-valadon-limoges.fr [Authentification à une API REST]
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 HTTP standard formaté en paires nom-valeur séparées par deux points ( : ), [name]:[value]. Des en-têtes HTTP standard sont utilisables ainsi des en-têtes personnalisés. Il Les en-têtes de requpete (de demande) incluent des informations supplémentaires qui ne sont pas liées au contenu du message.    * **En-tête** : l'API REST utilise le format d'en-tête HTTP standard formaté en paires nom-valeur séparées par deux points ( : ), [name]:[value]. Des en-têtes HTTP standard sont utilisables ainsi des en-têtes personnalisés. Il Les en-têtes de requpete (de demande) incluent des informations supplémentaires qui ne sont pas liées au contenu du message.
Ligne 147: Ligne 147:
  
 === Authentification de base === === Authentification de base ===
-Cette authentification utilise le schéma d'authentification HTTP de base standard en transmettant les informations d'identification sous forme de paires nom d'utilisateur/mot de passe séparées par un deux-points ( : ) et encodées à l'aide de Base64. +Cette authentification utilise le schéma d'authentification HTTP de base standard en transmettant les informations d'identification sous forme de **paires nom d'utilisateur/mot de passe** séparées par un deux-points ( : ) et encodées à l'aide de Base64.  
 + 
 +C'est le mécanisme d'authentification le plus **simple** mais est extrêmement **peu sécurisé** à moins qu'il ne soit jumelé avec des requêtes utilisant HTTPS plutôt que HTTP. Bien que les informations d'identification soient encodées, elles ne sont **pas chiffrées**. Il est simple de décoder les informations d'identification et d'obtenir la paire nom d'utilisateur/mot de passe.
  
 <WRAP center round info> <WRAP center round info>
Ligne 156: Ligne 158:
 </WRAP> </WRAP>
    
 +=== Authentification du porteur ===
 +Ce mécanisme d'authentification appelé aussi **authentification au jeton**, utilise le schéma d'authentification HTTP au porteur standard. Il est **plus sécurisé** que l'authentification de base et est généralement utilisé avec **OAuth** et **Single Sign-On (SSO)**. L'authentification au porteur utilise un jeton porteur, qui est une chaîne générée par un **serveur d'authentification externe** tel qu'un service d'identité (ID). 
  
-  +<WRAP center round info> 
- +Tout comme l'authentification de base, l'authentification au porteur doit être utilisée avec HTTPS
-L'authentification de base est le mécanisme d'authentification le plus simple. Il est extrêmement peu sécurisé à moins qu'il ne soit jumelé avec des requêtes utilisant HTTPS plutôt que HTTP. Bien que les informations d'identification soient encodéeselles ne sont pas chiffrées. Il est simple de décoder les informations d'identification et d'obtenir la paire nom d'utilisateur/mot de passe.  +
- +
-  +
- +
-Authentification du porteur  +
- +
- = d'authentification au jeton, utilise le schéma d'authentification HTTP au porteur standard. Il est plus sécurisé que l'authentification de base et est généralement utilisé avec OAuth (discuté plus loin) et Single Sign-On (SSO)L'authentification au porteur utilise un jeton porteur, qui est une chaîne générée par un serveur d'authentification tel qu'un service d'identité (ID)  +
- +
- +
  
 Dans une requête d'API REST, les informations d'authentification du porteur seront fournies dans l'en-tête :  Dans une requête d'API REST, les informations d'authentification du porteur seront fournies dans l'en-tête : 
- +<code> 
- Authorization: Bearer <bearer token>  +Authorization: Bearer <bearer token> 
- +</code> 
-Tout comme l'authentification de base, l'authentification au porteur doit être utilisée avec HTTPS.  +</WRAP>
- +
-  +
- +
-Clé API  +
- +
-  +
- +
-Une clé API = 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'utilisateur se connecte généralement à un portail à l'aide de ses informations d'identification. Cette clé est généralement assignée une fois et ne sera pas régénérée. Toutes les requêtes d'API REST pour cet utilisateur doivent fournir la clé d'API assignée comme forme d'authentification.  +
    
 +=== 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'utilisateur se connecte généralement à un portail à l'aide de ses informations d'identification. Cette clé est généralement assignée une fois et ne sera pas régénérée. Toutes les requêtes d'API REST pour cet utilisateur doivent fournir la clé d'API assignée comme forme d'authentification. 
  
 Tout comme avec les autres types d'authentification, les clés API ne sont sécurisées que lorsqu'elles sont utilisées avec HTTPS.  Tout comme avec les autres types d'authentification, les clés API ne sont sécurisées que lorsqu'elles sont utilisées avec HTTPS. 
- 
-  
  
 Les clés API sont destinées à être un mécanisme d'authentification, mais sont généralement utilisées à mauvais escient comme mécanisme d'autorisation.  Les clés API sont destinées à être un mécanisme d'authentification, mais sont généralement utilisées à mauvais escient comme mécanisme d'autorisation. 
- 
-  
  
 Les deux types de clés API sont publiques et privées.  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'accéder à un sous-ensemble de données et d'API. 
 +  * une clé privée ne doit pas être partagée, car elle est similaire à votre nom d'utilisateur et votre mot de passe. 
  
-  +La plupart des clés d'API n'expirent pas, et à moins que la clé ne puisse être révoquée ou régénérée, si elle est distribuée ou compromise, toute personne disposant de cette clé peut accéder indéfiniment au système comme vous. 
- +
-Une clé d'API publique peut être partagée et permet à cet utilisateur d'accéder à un sous-ensemble de données et d'API. Ne partagez pas de clé privée, car elle est similaire à votre nom d'utilisateur et votre mot de passe. La plupart des clés d'API n'expirent pas, et à moins que la clé ne puisse être révoquée ou régénérée, si elle est distribuée ou compromise, toute personne disposant de cette clé peut accéder indéfiniment au système comme vous.  +
- +
- +
  
 +<WRAP center round info>
 Une requête API REST peut fournir une clé API de différentes manières:  Une requête API REST peut fournir une clé API de différentes manières: 
 +<code>
 Query string: Recommandé uniquement pour les clés API publiques  Query string: Recommandé uniquement pour les clés API publiques 
 +</code>
  
-Header: Utilise la clé Autorisation ou une clé personnalisée Authorization: <API Key> ou Authorization: APIkey <API Key> ou APIkey: <API Key> +  * Header: Utilise la clé Autorisation ou une clé personnalisée  
 +<code> 
 +Authorization: <API Key>  
 +ou 
 +Authorization: APIkey <API Key> 
 +ou 
 +APIkey: <API Key>  
 +</code>
  
-Body data: Utilise une clé unique comme identifiant Content-Type: application/json  +  * Body data: Utilise une clé unique comme identifiant  
- +<code> 
-Cookie: Utilise une clé unique comme identifiant Cookie: API_KEY=<API Key +Content-Type: application/json  
- +</code>
- +
  
 +  * Cookie: Utilise une clé unique comme identifiant 
 +<code>
 +Cookie: API_KEY=<API Key> 
 +</code>
 +</WRAP>
    
 ==== 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.1614583777.txt.gz · Dernière modification: 2021/03/01 08:29 de techer.charles_educ-valadon-limoges.fr