GERBELOTBARILLON.COM

Parce qu'il faut toujours un commencement...

API Keys / Tokens


Utilisés parfois de manière interchangeable, les termes API Key (clé d'API) et token (jeton) font référence à deux usages bien distincts. La définition en est la suivante :

La génération d'une clé d'API et d'un token ne se présente pas de la même façon non plus :

La sécurité est à considérer dans le sens où, si votre clé d'API ou votre jeton sont compromis, quel peut être le danger potentiel :

  • API Key : Fixée par programme pour donner des accès au niveau de l'application, quiconque possède cette clé peut accéder aux ressources. Les clés d'API étant généralement données pour de très longues périodes (jamais changée en fait) une clé compromise peut mener à de graves problèmes. Il n'y a pas d'autre moyen que de révoquer la clé d'API pour résoudre le problème. Il n'est pas toujours aisé de surveiller l'usage des clés d'API.
  • Token : Les jetons sont limités à des utilisateurs ou des données spécifiques. Les notions de rôles affectés sont au coeur de leur fonctionnement. Les jetons sont conçus pour être les plus sécurisés possibles avec des durées de vie courte. Un jeton compromis ne donnera accès qu'à une partie accessible à l'utilisateur et l'expiration sera automatique.

A la suite de toutes ces considérations, il y a des cas d'usage spécifiques pour chaque type d'objet :

  • API Key : Orientée pour les communications de serveur à serveur, qu'ils soient publics ou privés (météo, systèmes tiers type ERP, ...).
  • Token : Le jeton est dédié à l'authentification utilisateur et permet l'application de droits et restrictions sur les accès temporaires donnés à l'utilisateur connecté avec ce jeton.