Teilen über


Konfigurieren des Anmeldeinformations-Managers – GitHub-API

GILT FÜR: Alle API Management-Ebenen

In diesem Artikel erfahren Sie, wie Sie eine verwaltete Verbindung in der API-Verwaltung erstellen und eine GitHub-API aufrufen, die ein OAuth 2.0-Token erfordert. Der Autorisierungscode-Erteilungstyp wird in diesem Beispiel verwendet.

Hier erfahren Sie, wie Sie:

  • Registrieren einer Anwendung in GitHub
  • Konfigurieren eines Anmeldeanbieters im API-Management
  • Konfigurieren einer Verbindung
  • Erstellen einer API in der API-Verwaltung und Konfigurieren einer Richtlinie
  • Testen der GitHub-API im API-Management

Voraussetzungen

Schritt 1: Registrieren einer Anwendung in GitHub

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

  1. Melden Sie sich bei GitHub an.

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

    Screenshot der Registrierung einer neuen OAuth-Anwendung in GitHub.

    1. Geben Sie einen Anwendungsnamen und eine Homepage-URL für die Anwendung ein. In diesem 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.

  5. Wählen Sie "Neuen geheimen Clientschlüssel generieren" aus. Kopieren Sie den geheimen Schlüssel, der nicht mehr angezeigt wird und den Sie in Schritt 2 verwenden.

    Screenshot, der zeigt, wie Client-ID und geheimer Clientschlüssel für die Anwendung in GitHub abgerufen werden.

Schritt 2: Konfigurieren eines Anbieters von Anmeldeinformationen in API Management

  1. Melden Sie sich beim Azure-Portal an, und wechseln Sie zu Ihrer API-Verwaltungsinstanz.

  2. Wählen Sie im linken Menü APIs>Anmeldeinformations-Manager>+ Erstellen.

    Screenshot des Erstellens einer API-Verwaltungsanmeldeinformationen im Azure-Portal.

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

    Einstellungen Wert
    Name des Anmeldeinformationsanbieters Ein Name Ihrer Wahl, z. B. github-01
    Identitätsanbieter GitHub auswählen
    Grant-Typ Autorisierungscode auswählen
    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.
    Scope Legen Sie für dieses Beispiel den Bereich auf "Benutzer" fest.
  4. Wählen Sie "Erstellen" aus.

  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 mit dem Anbieter aus.

Hinweis

Wenn Sie eine Verbindung konfigurieren, richtet die API-Verwaltung 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: Bei Ihrer Verbindung anmelden (für den Autorisierungscode-Erteilungstyp) die Schaltfläche Anmelden. Führen Sie dort Schritte aus, um den Zugriff zu autorisieren und zur API-Verwaltung zurückzukehren.
  3. Unter Schritt 3: Ermitteln, wer Zugriff auf diese Verbindung hat (Access-Richtlinie), wird das mitglied der verwalteten Identität aufgeführt. Das Hinzufügen anderer Mitglieder ist je nach Szenario optional.
  4. Wählen Sie Complete (Fertig stellen) aus.

Die neue Verbindung wird in der Liste der Verbindungen angezeigt und zeigt den Status "Verbunden" an. Wenn Sie eine weitere Verbindung für den Anmeldeinformationsanbieter einrichten möchten, führen Sie die vorherigen Schritte aus.

Tipp

Verwenden Sie das Azure-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 einer API in der API-Verwaltung und Konfigurieren einer Richtlinie

  1. Melden Sie sich beim Azure-Portal an, und wechseln Sie zu Ihrer API-Verwaltungsinstanz.

  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, und wählen Sie dann "Erstellen" aus.

    Setting 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. Geben Sie die folgenden Einstellungen ein, und wählen Sie "Speichern" aus.

    Setting Wert
    Anzeigename getauthdata
    URL für GET /user

    Screenshot des Hinzufügens eines getauthdata-Vorgangs zur API im Portal.

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

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

  7. Kopieren Sie Folgendes, und fügen Sie sie im Richtlinien-Editor ein. Stellen Sie sicher, dass die provider-id Werte und authorization-id Werte in der get-authorization-context Richtlinie den Namen des Anmeldeinformationsanbieters bzw. der Verbindung entsprechen, die Sie in den vorherigen Schritten konfiguriert haben. Wählen Sie Speichern aus.

    <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 vorangehende Richtliniendefinition besteht aus drei Teilen:

Schritt 5: Testen der API

  1. Wählen Sie auf der Registerkarte " Test " einen von Ihnen konfigurierten Vorgang aus.

  2. Wählen Sie "Senden" aus.

    Screenshot des erfolgreichen Testens der API im Portal.

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