Anmerkung
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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
- Ein GitHub-Konto ist erforderlich.
- Eine ausgeführte API-Verwaltungsinstanz. Erstellen Sie bei Bedarf eine Azure API-Verwaltungsinstanz.
- Aktivieren Sie eine vom System zugewiesene verwaltete Identität für die API-Verwaltung in der API-Verwaltungsinstanz.
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.
Melden Sie sich bei GitHub an.
Wechseln Sie in Ihrem Kontoprofil zu Einstellungen > Entwicklereinstellungen > OAuth-Apps. Wählen Sie Neue OAuth-App aus.
- 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. - Fügen Sie optional eine Anwendungsbeschreibung hinzu.
- 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.
- 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.
Wählen Sie " Anwendung registrieren" aus.
Kopieren Sie auf der Seite "Allgemein " die Client-ID, die Sie in Schritt 2 verwenden.
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.
Schritt 2: Konfigurieren eines Anbieters von Anmeldeinformationen in API Management
Melden Sie sich beim Azure-Portal an, und wechseln Sie zu Ihrer API-Verwaltungsinstanz.
Wählen Sie im linken Menü APIs>Anmeldeinformations-Manager>+ Erstellen.
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. Wählen Sie "Erstellen" aus.
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.
- Geben Sie einen Verbindungsnamen ein, und wählen Sie dann "Speichern" aus.
- 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.
- 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.
- 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
Melden Sie sich beim Azure-Portal an, und wechseln Sie zu Ihrer API-Verwaltungsinstanz.
Wählen Sie im linken Menü APIs>>+ API hinzufügen aus.
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.comAPI-URL-Suffix githubuser 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
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 Wählen Sie "Alle Vorgänge" aus. Wählen Sie im Abschnitt "Eingehende Verarbeitung " das Symbol (</>) (Code-Editor) aus.
Kopieren Sie Folgendes, und fügen Sie sie im Richtlinien-Editor ein. Stellen Sie sicher, dass die
provider-idWerte undauthorization-idWerte in derget-authorization-contextRichtlinie 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:
- 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 Set-Header-Richtlinie erstellt einen HTTP-Header mit dem abgerufenen Autorisierungstoken.
- Die zweite Set-Header-Richtlinie erstellt einen
User-AgentHeader (GitHub-API-Anforderung).
Schritt 5: Testen der API
Wählen Sie auf der Registerkarte " Test " einen von Ihnen konfigurierten Vorgang aus.
Wählen Sie "Senden" aus.
Eine erfolgreiche Antwort gibt Benutzerdaten aus der GitHub-API zurück.
Verwandte Inhalte
- Weitere Informationen zu Authentifizierungs- und Autorisierungsrichtlinien
- Weitere Informationen zur REST-API von GitHub