Share via


Konfigurieren der Anmeldeinformationsverwaltung – GitHub-API

GILT FÜR: Alle API Management-Ebenen

In diesem Artikel erfahren Sie, wie Sie eine verwaltete Verbindung in API Management erstellen und eine GitHub-API aufrufen, die ein OAuth 2.0-Token erfordert. In diesem Beispiel wird der Gewährungstyp „Autorisierungscode“ verwendet.

Sie lernen Folgendes:

  • Registrieren einer Anwendung in GitHub
  • Konfigurieren eines Anmeldeinformationsanbieters in API Management
  • Konfigurieren einer Verbindung
  • Erstellen einer API in API Management und Konfigurieren einer Richtlinie
  • Testen Ihrer GitHub-API in API Management

Voraussetzungen

Schritt 1: Registrieren einer Anwendung in GitHub

Erstellen Sie eine GitHub OAuth-App für die API, und erteilen Sie ihr die entsprechenden Berechtigungen für die Anforderungen, die Sie aufrufen möchten.

  1. Bei GitHub anmelden.

  2. Wechseln Sie in Ihrem Kontoprofil zu Einstellungen > Entwicklereinstellungen > OAuth-Apps. Wählen Sie Neue OAuth-App aus.

    Screenshot: Registrierung einer neuen OAuth-Anwendung in GitHub

    1. Geben Sie einen Anwendungsnamen und eine Homepage-URL für die Anwendung ein. Für dieses Beispiel können Sie eine Platzhalter-URL angeben, wie z. B. http://localhost.
    2. Fügen Sie optional eine Anwendungsbeschreibung hinzu.
    3. Geben Sie unter Autorisierungsrückruf-URL (die Umleitungs-URL) https://authorization-manager.consent.azure-apim.net/redirect/apim/<YOUR-APIM-SERVICENAME> ein. Ersetzen Sie dies durch den Namen der API Management-Instanz, in der Sie den Anmeldeinformationenanbieter konfigurieren.
  3. Wählen Sie Anwendung registrieren aus.

  4. Kopieren Sie auf der Seite Allgemein die Client-ID, die Sie in Schritt 2 verwenden werden.

  5. Wählen Sie Generieren eines neuen geheimen Clients. Kopieren Sie das Geheimnis, das nicht erneut angezeigt wird und das Sie in Schritt 2 verwenden werden.

    Screenshot: Abrufen von Client-ID und Clientgeheimnis für die Anwendung in GitHub

Schritt 2: Konfigurieren eines Anmeldeinformationsanbieters in API Management

  1. Melden Sie sich beim Portal an, und wechseln Sie zu Ihrer API Management-Instanz.

  2. Wählen Sie im linken Menü Anmeldeinformationsverwaltung>+ Erstellen aus.

    Screenshot der Erstellung einer API Management-Anmeldeinformationen im Azure-Portal.

  3. Geben Sie auf der Seite Anmeldeinformationsanbieter erstellen die folgenden Einstellungen ein:

    Einstellungen Wert
    Name des Anmeldeinformationsanbieters Ein Name Ihrer Wahl, so wie . github-01
    Identitätsanbieter Wählen Sie GitHub aus.
    Gewährungstyp Abrufen des Autorisierungscodes
    Client-ID Fügen Sie den zuvor kopierten Wert aus der App-Registrierung ein
    Geheimer Clientschlüssel Fügen Sie den zuvor kopierten Wert aus der App-Registrierung ein
    Umfang Legen Sie in diesem Beispiel den Bereich auf Benutzer fest.
  4. Klicken Sie auf Erstellen.

  5. Wenn Sie dazu aufgefordert werden, überprüfen Sie die angezeigte OAuth-Umleitungs-URL, und wählen Sie Ja aus, um zu bestätigen, dass sie mit der URL übereinstimmt, die Sie in der App-Registrierung eingegeben haben.

Schritt 3: Konfigurieren einer Verbindung

Führen Sie auf der Registerkarte Verbindung die Schritte für Ihre Verbindung zum Anbieter aus.

Hinweis

Wenn Sie eine Verbindung konfigurieren, richtet API Management standardmäßig eine Zugriffsrichtlinie ein, die den Zugriff durch die vom System zugewiesene verwaltete Identität der Instanz ermöglicht. Dieser Zugriff ist für dieses Beispiel ausreichend. Sie können bei Bedarf weitere Zugriffsrichtlinien hinzufügen.

  1. Geben Sie einen Verbindungsnamen ein, und wählen Sie dann Speichern aus.
  2. Wählen Sie unter Schritt 2: Anmelden bei Ihrer Verbindung (für den Gewährungstyp des Autorisierungscodes) den Link zum Anmelden beim Anmeldeinformationsanbieter aus. Führen Sie dort die notwendigen Schritte aus, um den Zugriff zu autorisieren, und kehren Sie dann zu API Management zurück.
  3. Unter Schritt 3: Bestimmen, wer Zugriff auf diese Verbindung haben soll (Zugriffsrichtlinie) wird das Mitglied der verwalteten Identität aufgeführt. Das Hinzufügen anderer Mitglieder ist je nach Szenario optional.
  4. Wählen Sie Abschließen aus.

Die neue Verbindung wird in der Liste der Verbindungen mit dem Status Verbunden angezeigt. Wenn Sie eine weitere Verbindung für den Anmeldeinformationsanbieter erstellen möchten, führen Sie die vorherigen Schritte erneut aus.

Tipp

Verwenden Sie das Portal, um jederzeit Verbindungen zu einem Anmeldeinformationsanbieter hinzuzufügen, zu aktualisieren oder zu löschen. Weitere Informationen finden Sie unter Konfigurieren mehrerer Verbindungen.

Schritt 4: Erstellen Sie eine API im API Management und konfigurieren Sie eine Richtlinie

  1. Melden Sie sich beim Portal an, und wechseln Sie zu Ihrer API Management-Instanz.

  2. Wählen Sie im linken Menü APIs > + API hinzufügen aus.

  3. Wählen Sie HTTP aus und geben Sie die folgenden Einstellungen ein. Klicken Sie anschließend auf Erstellen.

    Einstellung Wert
    Anzeigename githubuser
    Webdienst-URL https://api.github.com
    API-URL-Suffix githubuser
  4. Navigieren Sie zur neu erstellten API und wählen Sie Vorgang hinzufügen aus. Wählen Sie die folgenden Einstellungen aus und geben Sie Speichern ein.

    Einstellung Wert
    Anzeigename getauthdata
    URL für GET /user

    Screenshot: Hinzufügen eines getauthdata-Vorgangs zur API im Portal.

  5. Führen Sie die vorherigen Schritte erneut aus, um einen weiteren Vorgang mit den folgenden Einstellungen hinzuzufügen.

    Einstellung Wert
    Anzeigename getauthfollowers
    URL für GET /user/followers
  6. Wählen Sie Alle Vorgänge aus. Wählen Sie im Abschnitt Eingehende Verarbeitung das Code-Editor-Symbol (</>) (Code-Editor) aus.

  7. Kopieren Sie folgendes und fügen Sie es in den Richtlinien-Editor ein. Stellen Sie sicher, dass die Werte provider-id und authorization-id in der get-authorization-context-Richtlinie den Namen des Anmeldeinformationsanbieters bzw. der Verbindung entsprechen, die Sie in den vorherigen Schritten konfiguriert haben. Klicken Sie auf Speichern.

    <policies>
        <inbound>
            <base />
            <get-authorization-context provider-id="github-01" authorization-id="first-connection" context-variable-name="auth-context" identity-type="managed" ignore-error="false" />
            <set-header name="Authorization" exists-action="override">
                <value>@("Bearer " + ((Authorization)context.Variables.GetValueOrDefault("auth-context"))?.AccessToken)</value>
            </set-header>
            <set-header name="User-Agent" exists-action="override">
                <value>API Management</value>
            </set-header>
        </inbound>
        <backend>
            <base />
        </backend>
        <outbound>
            <base />
        </outbound>
        <on-error>
            <base />
        </on-error>
    </policies>
    

Die vorherige Richtliniendefinition besteht aus drei Teilen:

  • Die Richtlinie get-authorization-context ruft ein Autorisierungstoken ab, indem sie auf den Authentifizierungstokenanbieter und die Verbindung referenziert, die Sie zuvor erstellt haben.
  • Die erste Richtlinie set-header erstellt einen HTTP-Header mit dem abgerufenen Autorisierungstoken.
  • Die zweite Richtlinie set-header erstellt einen User-Agent-Header (Anforderung der GitHub-API).

Schritt 5: Testen der API

  1. Wählen Sie auf der Registerkarte Test einen Vorgang aus, den Sie konfiguriert haben.

  2. Wählen Sie Send (Senden) aus.

    Screenshot: Erfolgreiches Testen der API im Portal

    Eine erfolgreiche Antwort gibt Benutzerdaten aus der GitHub-API zurück.