Teil 2: API-Schlüssel generieren und testen

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

Refaktoriert und weitergeleitet zum Sichern einer API durch Anfordern von API-Schlüsseln

Ein Entwickler erstellt eine Anwendung, die Anfragen an Ihre APIs sendet, um auf Ihre Back-End-Dienste zuzugreifen. Sie können festlegen, dass Entwickler bei jeder Anfrage einen API-Schlüssel übergeben müssen, um den Zugriff auf Ihre APIs zu steuern. Wenn der Schlüssel fehlt oder ungültig ist, schlägt die Anfrage fehl.

Veröffentlichung bezeichnet das Verfahren, bei dem App-Entwickler Ihre APIs zur Nutzung zur Verfügung stellen. Veröffentlichungs-APIs können grob durch die folgenden Aufgaben definiert werden:

  1. Erstellen Sie die API-Produkte in Apigee Edge, die Ihre APIs bündeln.
  2. Registrieren Sie App-Entwickler in Edge. Apps können nur von registrierten App-Entwicklern registriert werden.
  3. Entwickler registrieren Apps auf Edge, um auf API-Produkte zuzugreifen. Als Antwort erhält der Entwickler einen API-Schlüssel. Da der Entwickler nun über einen API-Schlüssel verfügt, kann er Anfragen an Ihre APIs stellen.

Weitere Informationen finden Sie unter Einführung in die Veröffentlichung.

In der folgenden Tabelle werden einige Begriffe definiert, die zum Registrieren von Apps und Generieren von Schlüsseln verwendet werden:

Laufzeit Definition
API-Produkt Ein Bundle von API-Proxys in Kombination mit einem Dienstplan, der den Zugriff auf diese APIs beschränkt. API-Produkte sind der zentrale Mechanismus, den Apigee Edge für die Autorisierung und Zugriffssteuerung Ihrer APIs verwendet.
Developer Der API-Nutzer. Entwickler schreiben Apps, die Anfragen an Ihre APIs senden.
App-Kampagnen Eine clientseitige Anwendung, die sich ein Entwickler für den Zugriff auf ein API-Produkt registriert. Wenn Sie die Anwendung beim API-Produkt registrieren, wird der API-Schlüssel für den Zugriff auf die APIs in diesem Produkt generiert.
API-Schlüssel Ein String mit Autorisierungsinformationen, mit denen eine clientseitige Anwendung auf die vom API-Produkt bereitgestellten Ressourcen zugreift. Der API-Schlüssel wird generiert, wenn eine registrierte App mit einem API-Produkt verknüpft wird.

Voraussetzungen für diese Anleitung

In dieser Anleitung wird davon ausgegangen, dass Sie die erste Anleitung abgeschlossen haben, in der Sie einen API-Proxy für den Zugriff auf die Yahoo Weather-API erstellen. Falls Sie die erste Anleitung noch nicht abgeschlossen haben, lesen Sie den Abschnitt API durch erforderliche API-Schlüssel sichern.

Schritt 1: API-Produkt erstellen

  1. Klicken Sie in der Verwaltungsoberfläche auf den Tab Veröffentlichen und dann auf Produkte.
  2. Klicken Sie auf (+) Produkt.
  3. Geben Sie in den Feldern des Dialogfelds „Produkt hinzufügen“ Folgendes ein oder wählen Sie es aus:
    Field Wert
    Name Kostenloses API-Produkt
    Anzeigename Kostenloses API-Produkt
    Beschreibung Kostenloses API-Produkt
    Umgebung Test
    Zugriff Nur intern
    Schlüsselfreigabetyp Automatisch
    (der API-Schlüssel wird automatisch genehmigt, nachdem er generiert wurde)
    Kontingent 10 Anfragen pro 1 Stunde
    (begrenzt die Anzahl der Anfragen auf 10 pro Stunde)
    Erlaubte OAuth-Bereiche Leer lassen

    Das ausgefüllte Dialogfeld sollte so aussehen:

  4. Wählen Sie im Abschnitt „Ressourcen“ eine der folgenden Optionen aus:
    • API Proxy: weatherapikey
    • Version: 1
    • Ressourcenpfad: /forecastrss**

      Der Ressourcenpfad gibt die Ressourcen-URIs an, auf die das Produkt einer Anwendung Zugriff gewährt. In diesem Beispiel kann eine Anwendung nur über dieses API-Produkt auf die Ressource /forecastrss auf dem Proxy weatherapikey zugreifen. Der Versuch, mit diesem API-Produkt auf eine andere Ressource auf dem weatherapiproxy-Proxy oder auf einem anderen Proxy zuzugreifen, ist verboten.

      Für den Ressourcenpfad sind Platzhalterzeichen zulässig. Der Platzhalter „/**“ gibt an, dass alle Unter-URIs enthalten sind, also eine Ressource im Format /forecastrss/foo/bar. Der Platzhalter „/“ gibt an, dass nur URIs enthalten sind, die eine Ebene niedriger sind. Weitere Informationen finden Sie unter API-Produkte erstellen.

      In der Drop-down-Liste Ressourcenpfad werden alle bedingten Datenflüsse angezeigt, die für den angegebenen API-Proxy definiert sind. Der bedingte Fluss eines API-Proxys definiert die Logik oder die Verarbeitungsschritte, die einem Ressourcenpfad zugeordnet sind. Ein API-Produkt steuert den Zugriff auf diese Ressourcenpfade.
  5. Klicken Sie auf Ressource importieren. Der Ressourcenpfad wird hinzugefügt und der API-Proxy weatherapikey dem Abschnitt API-Proxys für Produkt automatisch hinzugefügt.
  6. Klicken Sie auf Speichern. Ihr neues Produkt wird auf der Seite „Produkte“ aufgeführt.

Weitere Informationen:

Schritt 2: Entwickler registrieren

Um einen API-Schlüssel zu generieren, registrieren Sie eine App und verknüpfen sie mit einem API-Produkt. Du kannst eine App jedoch erst registrieren, wenn der Entwickler der App registriert ist.

  1. Klicken Sie in der Verwaltungsoberfläche auf den Tab Publish (Veröffentlichen) und dann auf Developers (Entwickler).
  2. Klicken Sie auf Entwickler(+).
  3. Geben Sie im Dialogfeld „Neuer Entwickler“ die folgenden Werte ein:
    • Vorname: Jane
    • Nachname: Tutorial
    • E-Mail-Adresse: janetutorial@example.com
    • Nutzername: jtutorial
  4. Klicken Sie auf Speichern. Der neue Entwickler wird in der Liste der Entwickler auf der Seite „Entwickler“ angezeigt.

Weitere Informationen:

Schritt 3: App registrieren

Da Sie nun ein API-Produkt und einen Entwickler haben, können Sie eine App bei dem API-Produkt registrieren. Wenn Sie die App registrieren, wird der API-Schlüssel für die mit der App verknüpften API-Produkte generiert. Sie können den Schlüssel dann an App-Entwickler verteilen, damit diese über die App auf die Funktionen in den API-Produkten zugreifen können.

  1. Klicken Sie auf der Benutzeroberfläche der API-Plattform auf den Tab Veröffentlichen und dann auf Entwickler-Apps.
  2. Klicken Sie auf (+) Entwickler-App.
  3. Geben Sie im Dialogfeld „App hinzufügen“ die folgenden Werte ein:
    • Display Name (Anzeigename): Weather API Key App
    • Entwickler: Jane-Tutorial (janetutorial@example.com)
    • Callback URL (Rückruf-URL): leer lassen
  4. Verknüpfen Sie die App mit einem Produkt:
    1. Klicken Sie im Bereich Produkte auf + Produkt.
    2. Wählen Sie Kostenloses API-Produkt aus.
    3. Klicken Sie auf das Häkchen, um die Änderungen zu übernehmen.
  5. Klicken Sie auf Speichern. Die neue App wird in der Liste der Apps auf der Seite „Entwickler-Apps“ angezeigt.
  6. Wählen Sie in der Liste der Apps Weather API Key App aus. Daraufhin wird die Detailseite der App geöffnet.
  7. Da Sie beim Erstellen des API-Produkts die Option Schlüsselfreigabetyp: Automatisch ausgewählt haben, wird der API-Schlüssel automatisch genehmigt und kann sofort aufgerufen werden. Wenn Sie den Freigabetyp „Manuell“ ausgewählt haben, müssen Sie in der Spalte „Aktionen“ für das kostenlose API-Produkt auf Genehmigen klicken, um den API-Schlüssel zu genehmigen.
  8. Klicken Sie im Abschnitt „Produkte“ neben dem Eintrag für Kostenloses API-Produkt in den Spalten Consumer Key (Consumer-Key) und Consumer Secret (Consumer-Secret) auf Anzeigen, um sich die generierten Schlüssel anzeigen zu lassen.

    Der Consumer-Key ist ein anderer Name für den API-Schlüssel. Er ist der einzige Schlüssel, den eine Anwendung für den Zugriff auf die Ressource forecast über Ihren API-Proxy benötigt. Das Consumer-Secret wird (zusammen mit dem Consumer-Key) benötigt, um eine API über OAuth 2.0 abzusichern. Siehe beispielsweise OAuth 2.0: Neuen API-Proxy konfigurieren.

Weitere Informationen:

Schritt 4: API-Schlüssel in einer Anfrage verwenden

Prüfen Sie, ob die Richtlinie „VerifyAPIKey“ korrekt funktioniert. Dazu rufen Sie den API-Proxy mit einem gültigen API-Schlüssel auf. Sie können den API-Proxy in einem Browser, über die Trace-Seite des API-Proxys, über die Apigee Console oder über cURL anfordern. Die URL, die angefordert werden soll, hat das folgende Format:

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

Ersetzen Sie {org-name} Ihren Apigee-Organisationsnamen und den richtigen Wert für apikey.

Suchen Sie in der Antwort nach folgendem Inhalt:

<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>

Wenn Sie den API-Schlüssel in der Anfrage weglassen oder einen ungültigen Schlüsselwert angeben, erhalten Sie eine Fehlermeldung im folgenden Format:

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

Schritt 5: Wie geht es weiter?

Nachdem Sie nun mit einem Abfrageparameter eine Anfrage an die API gesendet haben, um den API-Schlüssel zu übergeben, ändern Sie die API so, dass der Schlüssel als Header übergeben wird.

Fahren Sie mit API durch erforderliche API-Schlüssel sichern fort.