Skip to main content

OAuth 1.0a

De nombreux endpoints sur la plateforme développeur X utilisent la méthode OAuth 1.0a pour agir, ou effectuer des requêtes API, au nom d’un compte X. Par exemple, si vous avez une App développeur X, vous pouvez effectuer des requêtes API au nom de n’importe quel compte X, tant que cet utilisateur authentifie votre App. Remarque : si vous n’êtes pas familier avec des concepts tels que HMAC-SHA1 et l’encodage pourcent, nous vous recommandons de consulter la section « outils utiles » ci-dessous, qui répertorie certains clients API qui simplifient grandement le processus d’authentification.

Notions clés

Signer une requête avec des clés et des jetons

Vous devez signer chaque requête API en transmettant plusieurs clés et jetons générés dans un en-tête d’autorisation. Pour commencer, vous pouvez générer plusieurs clés et jetons sur la page de détails de votre App développeur X, notamment les éléments suivants :

Effectuer des requêtes pour le compte des utilisateurs

Lorsque vous créez une signature, vous avez besoin d’un ensemble de jetons d’accès qui représentent l’utilisateur pour le compte duquel vous allez effectuer une requête. Vous pouvez générer un ensemble de jetons d’accès qui représente le compte X propriétaire de l’App développeur X à partir de la page de détails de l’App, mais si vous souhaitez effectuer une requête pour le compte d’un autre compte X, le propriétaire de ce compte doit vous accorder l’accès en se connectant à son compte dans le cadre du flux OAuth à 3 étapes. Le résultat de ce processus est un ensemble de jetons d’accès (oauth_token et oauth_token_secret) qui peuvent être utilisés pour effectuer une requête OAuth 1.0a. Une fois que vous disposez de ces clés et jetons, vous pouvez créer une signature à partir de zéro. Nous ne le recommandons pas, sauf si vous savez exactement ce que vous faites, ou si vous utilisez l’un des outils mentionnés ci‑dessous pour effectuer une requête vers un endpoint qui nécessite OAuth 1.0a. À titre de référence, voici un exemple de requête cURL signée, dans laquelle tous les jetons générés sont transmis dans un en-tête Authorization :
Remarque : Les jetons d’accès utilisateur sont sensibles et doivent être protégés avec le plus grand soin. Lorsqu’ils sont générés, l’utilisateur qu’ils représentent fait confiance à votre application pour les conserver en sécurité. Si la sécurité des clés d’API et des jetons d’accès utilisateur est compromise, votre application pourrait potentiellement donner accès à des informations privées et à des fonctionnalités de compte. Nous vous encourageons à en savoir plus sur la sécurisation des clés et des jetons d’accès.

Outils utiles

Le processus de signature d’une requête est complexe. Nous vous recommandons d’utiliser une bibliothèque cliente d’API qui génère automatiquement une grande partie du jeton d’authentification :