Partie 2: Générer et tester une clé API

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

Refactorisation et redirection vers Sécuriser une API en exigeant des clés API.

Un développeur crée une application qui envoie des requêtes à vos API pour accéder à vos services de backend. Pour contrôler l'accès à vos API, vous pouvez demander au développeur de transmettre une clé API à chaque requête. Si la clé est manquante ou non valide, la requête échoue.

La publication est le processus qui consiste à mettre vos API à la disposition des développeurs d'applications. Les API de publication peuvent être définies de manière générale par les tâches suivantes:

  1. Créez les produits d'API sur Apigee Edge qui regroupent vos API.
  2. Enregistrez les développeurs d'applications sur Edge. Seul un développeur d'applications inscrit peut enregistrer une application.
  3. Les développeurs enregistrent leurs applications sur Edge pour accéder aux produits d'API. En réponse, le développeur reçoit une clé API. Maintenant que le développeur dispose d'une clé API, il peut envoyer des requêtes à vos API.

Pour en savoir plus, consultez Présentation de la publication.

Le tableau suivant définit certains des termes utilisés pour enregistrer des applications et générer des clés:

Terme Définition
Produit d'API Groupe de proxys d'API associé à un plan de service qui définit les limites d'accès à ces API. Les produits d'API constituent le mécanisme central utilisé par Apigee Edge pour les autorisations et le contrôle des accès à vos API.
Developer Consommateur de l'API. Les développeurs créent des applications qui envoient des requêtes à vos API.
Pour applications Une application côté client qu'un développeur enregistre pour accéder à un produit d'API. L'enregistrement de l'application auprès du produit d'API génère la clé API permettant d'accéder aux API de ce produit.
Clé API Chaîne contenant les informations d'autorisation qu'une application côté client utilise pour accéder aux ressources exposées par le produit d'API. La clé API est générée lorsqu'une application enregistrée est associée à un produit d'API.

Prérequis pour ce tutoriel

Ce tutoriel suppose que vous avez terminé le premier, dans lequel vous créez un proxy d'API pour accéder à l'API météo Yahoo. Si vous n'avez pas encore terminé le premier tutoriel, consultez Sécuriser une API en exigeant des clés API.

Étape 1: Créez un produit API

  1. Dans l'interface utilisateur de gestion, cliquez sur l'onglet Publier, puis sur Produits.
  2. Cliquez sur (+) Produit.
  3. Saisissez ou sélectionnez les informations suivantes dans les champs de la boîte de dialogue "Ajouter un produit" :
    Champ Valeur
    Nom Produit d'API sans frais
    Nom à afficher Produit d'API sans frais
    Description Produit d'API sans frais
    Environnement test
    Accès Internes uniquement
    Type d'approbation de clé Automatique
    (la clé API est automatiquement approuvée après sa génération)
    Quota 10 requêtes par heure
    (limite le nombre de requêtes à 10 par heure)
    Champs d'application OAuth autorisés laisser vide

    La boîte de dialogue remplie doit se présenter comme suit:

  4. Dans la section "Ressources", choisissez l'une des options suivantes :
    • Proxy d'API: weatherapikey
    • Révision: 1
    • Chemin d'accès à la ressource: /forecastrss**

      Le chemin d'accès à la ressource spécifie les URI de ressources auxquels le produit permet à une application d'accéder. Dans cet exemple, une application ne peut accéder à la ressource /forecastrss sur le proxy weatherapikey que via ce produit d'API. Il est interdit d'utiliser ce produit d'API pour accéder à une autre ressource sur le proxy weatherapiproxy ou sur un autre proxy.

      Les caractères génériques sont autorisés dans le chemin d'accès à la ressource. Le caractère générique "/**" indique que tous les sous-URI sont inclus, c'est-à-dire qu'une ressource se présente sous la forme /forecastrss/foo/bar. Le caractère générique "/" indique que seuls les URI d'un niveau inférieur sont inclus. Voir Créer des produits d'API pour plus d'informations.

      Notez que la liste déroulante Chemin d'accès aux ressources affiche tous les flux conditionnels définis sur le proxy d'API spécifié. Le flux conditionnel d'un proxy d'API définit la logique, ou les étapes de traitement, associée à un chemin d'accès à la ressource. Un produit d'API contrôle l'accès à ces chemins de ressources.
  5. Cliquez sur Import Resource (Importer une ressource). Le chemin d'accès à la ressource est ajouté, et le proxy d'API weatherapikey est automatiquement ajouté à la section Proxys d'API pour le produit.
  6. Cliquez sur Enregistrer. Votre nouveau produit apparaît sur la page "Produits".

En savoir plus:

Étape 2: Enregistrez un développeur

Pour générer une clé API, vous devez enregistrer une application et l'associer à un produit d'API. Toutefois, vous ne pouvez pas enregistrer une application sans avoir préalablement enregistré son développeur.

  1. Dans l'interface utilisateur de gestion, cliquez sur l'onglet Publier, puis sur Développeurs.
  2. Cliquez sur (+) Développeur.
  3. Dans la boîte de dialogue "New Developer" (Nouveau développeur), saisissez les valeurs suivantes :
    • Prénom: Jeanne
    • Nom: Tutoriel
    • Adresse e-mail: janetutorial@example.com
    • Nom d'utilisateur: jtutorial
  4. Cliquez sur Enregistrer. Le nouveau développeur apparaît dans la liste des développeurs sur la page "Développeurs".

En savoir plus:

Étape 3: Enregistrez l'application

Maintenant que vous disposez d'un produit d'API et d'un développeur, vous pouvez enregistrer une application auprès de celui-ci. L'enregistrement de l'application génère la clé API pour les produits d'API associés à l'application. Vous pouvez ensuite la distribuer aux développeurs d'applications afin qu'ils puissent accéder aux fonctionnalités des produits d'API à partir de l'application.

  1. Dans l'interface utilisateur de la plate-forme API, cliquez sur l'onglet Publier, puis sur Applications pour les développeurs.
  2. Cliquez sur (+) Application Developer.
  3. Dans la boîte de dialogue "Add an App" (Ajouter une application), saisissez les valeurs suivantes :
    • Display Name (Nom à afficher) : Weather API Key App (Nom à afficher pour l'application de clé API Weather)
    • Développeur: Tutoriel de Jane (janetutorial@example.com)
    • Callback URL (URL de rappel) : laissez ce champ vide.
  4. Associez l'application à un produit :
    1. Dans la section Produits, cliquez sur + Produit.
    2. Sélectionnez Free API Product (Produit d'API sans frais).
    3. Cliquez sur l'icône en forme de coche pour accepter les modifications.
  5. Cliquez sur Enregistrer. La nouvelle application apparaît dans la liste des applications sur la page "Applications du développeur".
  6. Sélectionnez Weather API Key App (Application clé de l'API Weather) dans la liste des applications. La page d'informations de l'application s'ouvre.
  7. Comme vous avez sélectionné Type d'approbation de clé: Automatique lors de la création du produit d'API, la clé API est automatiquement approuvée et vous pouvez l'afficher immédiatement. (Si vous avez sélectionné Type d'approbation: Manuel, vous devez cliquer sur Approuver dans la colonne "Actions" pour "Produit d'API sans frais" afin d'approuver la clé API.)
  8. Dans la section "Produits", à côté de l'entrée Produit d'API sans frais, cliquez sur Afficher dans les colonnes Clé client et Code secret client pour afficher les clés générées.

    La clé client est un autre nom attribué à la clé API. C'est la seule clé dont une application a besoin pour accéder à la ressource de prévision via votre proxy d'API. Le code secret client est nécessaire (en plus de la clé client) pour sécuriser une API via OAuth 2.0. Par exemple, consultez OAuth 2.0 : Configurer un nouveau proxy d'API.

En savoir plus:

Étape 4: Utilisez la clé API dans une requête

Pour vous assurer que la stratégie VerifyAPIKey fonctionne correctement, vous devez la tester en appelant le proxy de l'API avec une clé API valide. Vous pouvez demander le proxy d'API dans un navigateur, depuis la page de trace du proxy d'API, depuis la console Apigee ou à l'aide de cURL. L'URL à demander se présente au format suivant:

http://{org-name}-test.apigee.net/v1/weatherapikey/forecastrss?w=12797282&apikey=IEYRtW2cb7A5Gs54A1wKElECBL65GVls

Remplacez {org-name} par la valeur apikey par le nom de votre organisation Apigee

Recherchez le contenu suivant dans la réponse:

<rss xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" version="2.0"> 
<channel> <title>Yahoo! Weather - Palo Alto, CA</title> 
<link>http://us.rd.yahoo.com/dailynews/rss/weather/Palo_Alto__CA/*http://weather.yahoo.com/forecast/USCA1093_f.html</link> 
<description>Yahoo! Weather for Palo Alto, CA</description> <language>en-us</language>

Si vous omettez la clé API de la requête ou spécifiez une valeur de clé non valide, vous recevrez une erreur sous la forme suivante:

{"fault":{"faultstring":"Failed to resolve API Key variable null","detail":{"errorcode":"steps.oauth.v2.FailedToResolveAPIKey"}}}

Étape 5: Que faire ensuite ?

Maintenant que vous avez envoyé une requête à l'API en utilisant un paramètre de requête pour transmettre la clé API, modifiez l'API pour transmettre la clé en tant qu'en-tête.

Passez à la section Sécuriser une API en exigeant des clés API.