Übung: Aufrufen einer API mit einem Abonnementschlüssel

Abgeschlossen

Ein Abonnementschlüssel ist eine Option, den Zugriff auf eine API einzuschränken.

Im Beispiel des Schuhunternehmens arbeitet NorthWind Shoes mit einem Lieferanten zusammen und möchte diesem den Direktzugriff auf die API für Lagerbestände ermöglichen. Partnerzugriff muss mit einem Abonnementschlüssel für alle API-Aufrufe eingeschränkt werden.

Hier rufen Sie einen Abonnementschlüssel für Ihre API ab. Dann testen Sie den Zugriff auf die API mit und ohne Abonnementschlüssel.

Abrufen eines Abonnementschlüssels

Partner erhalten ihren Schlüssel während des Onboardingprozesses. In dieser Übung fügen Sie ein Abonnement speziell für die NorthWindShoes-API hinzu. Nachdem Sie einen Schlüssel erhalten haben, befolgen Sie einen Standardprozess für die Verwendung des Schlüssels in API-Aufrufen.

  1. Wählen Sie im Menü des Azure-Portals oder auf der Startseite die Option Alle Ressourcen und dann Ihre API Management-Instanz aus.

  2. Wählen Sie im linken Menübereich unter APIs die Option Abonnements aus.

  3. Wählen Sie + Abonnement aus, und geben Sie die folgenden Werte für die einzelnen Einstellungen ein. Klicken Sie anschließend auf Erstellen.

    Einstellung Wert
    Name NorthWind
    `Display name` NorthWind subscription
    `Scope` Wählen Sie API aus, und wählen Sie dann NorthWindShoes Products aus der Dropdownliste aus.
  4. Wählen Sie das Kontextmenü (...) für das Northwind-Abonnement und dann die Option Schlüssel anzeigen/ausblenden aus.

  5. Wählen Sie für PRIMÄRSCHLÜSSEL die Schaltfläche Zum Kopieren klicken aus.

  6. Fügen Sie den Schlüssel in eine Anwendung wie den Editor ein, und speichern Sie ihn.

Verwenden eines Abonnementschlüssels bei einem API-Aufruf

Der nächste Schritt besteht darin, mit dem Abonnementschlüssel den Zugriff für Entwickler auf die veröffentlichte API zu testen.

  1. Führen Sie den folgenden Befehl in Cloud Shell aus, um auf den Vorgang Products (Produkte) in Ihrer API zuzugreifen. Ersetzen Sie dabei <apim gateway> durch den Namen Ihres Gateways.

    curl https://<apim gateway>.azure-api.net/api/Products
    

    Die Antwort 401, Access denied due to missing subscription key (401: Der Zugriff wurde aufgrund eines fehlenden Abonnementschlüssels verweigert.) wird angezeigt.

  2. Wiederholen Sie nun mit „curl“ die Anforderung, und geben Sie dieses Mal Ihren Abonnementschlüssel an.

  3. Führen Sie den folgenden Befehl in Cloud Shell aus. Ersetzen Sie dabei <primary key> durch den Schlüssel, den Sie vorher gespeichert haben, und <apim gateway> durch den Namen Ihres Gateways.

    curl --header "Ocp-Apim-Subscription-Key: <primary key>" https://<apim gateway>.azure-api.net/api/Products
    

    Sie sollten nun auf die API zugreifen können und eine Liste der Produkte auf der Konsole sehen.