Delen via


Referentiebeheer configureren - GitHub-API

Van toepassing op: Alle API Management-lagen

In dit artikel leert u hoe u een beheerde verbinding maakt in API Management en een GitHub-API aanroept waarvoor een OAuth 2.0-token is vereist. In dit voorbeeld wordt het toekenningstype autorisatiecode gebruikt.

U leert het volgende:

  • Een toepassing registreren in GitHub
  • Een referentieprovider configureren in API Management
  • Een verbinding configureren
  • Een API maken in API Management en een beleid configureren
  • Uw GitHub-API testen in API Management

Vereiste voorwaarden

Stap 1: Een toepassing registreren in GitHub

Maak een GitHub OAuth-app voor de API en geef deze de juiste machtigingen voor de aanvragen die u wilt aanroepen.

  1. Meld u aan bij GitHub.

  2. Ga in uw accountprofiel naar Instellingen > voor ontwikkelaarsinstellingen > OAuth-apps. Selecteer de nieuwe OAuth-app.

    Schermopname van het registreren van een nieuwe OAuth-toepassing in GitHub.

    1. Voer een toepassingsnaam en startpagina-URL voor de toepassing in. In dit voorbeeld kunt u een tijdelijke aanduidings-URL opgeven, zoals http://localhost.
    2. Voeg eventueel een beschrijving van de toepassing toe.
    3. In de callback-URL voor autorisatie (de omleidings-URL), voert u https://authorization-manager.consent.azure-apim.net/redirect/apim/<YOUR-APIM-SERVICENAME> in, in plaats van de naam van het API Management-exemplaar waar u de referentieprovider configureert.
    4. Selecteer optioneel Apparaatstroom inschakelen (niet vereist voor dit voorbeeld).
  3. Selecteer Toepassing registreren.

  4. Kopieer op de pagina Algemeen de client-id die u in stap 2 gebruikt.

  5. Selecteer Een nieuw clientgeheim genereren. Kopieer het geheim, dat niet opnieuw wordt weergegeven. U configureert het geheim in stap 2.

    Schermopname van het ophalen van de client-id en het clientgeheim voor de toepassing in GitHub.

Stap 2: een referentieprovider configureren in API Management

  1. Meld u aan bij Azure Portal en ga naar uw API Management-exemplaar.

  2. Selecteer in het linkermenu API's>Referentiebeheer>+ Maken.

    Schermopname van het maken van een API Management-referentie in Azure Portal.

  3. Voer bij Referentieprovider maken de volgende instellingen in:

    Instellingen Waarde
    Naam van referentieprovider Een naam van uw keuze, zoals github-01
    Identiteitsprovider GitHub selecteren
    Toekenningstype Autorisatiecode selecteren
    Client-ID Plak de waarde die u eerder hebt gekopieerd uit de app-registratie
    Cliëntgeheim Plak de waarde die u eerder hebt gekopieerd uit de app-registratie
    Scope Stel voor dit voorbeeld het bereik in op Gebruiker
  4. Klik op Creëren.

  5. Wanneer u hierom wordt gevraagd, controleert u de omleidings-URL van OAuth die wordt weergegeven en selecteert u Ja om te bevestigen dat deze overeenkomt met de URL die u hebt ingevoerd in de Registratie van de GitHub-app.

Stap 3: Een verbinding configureren

Voer op het tabblad Verbinding de stappen voor de verbinding met de provider uit.

Opmerking

Wanneer u een verbinding configureert, stelt API Management standaard een toegangsbeleid in dat toegang mogelijk maakt door de door systemen toegewezen beheerde identiteit van het exemplaar. Deze toegang is voldoende voor dit voorbeeld. U kunt indien nodig aanvullende toegangsbeleidsregels toevoegen.

  1. Voer een verbindingsnaam in en selecteer Opslaan.
  2. Selecteer onder Stap 2: Meld u aan bij uw verbinding (voor het toekenningstype autorisatiecode) de knop Aanmelden . Voer de stappen uit met uw id-provider om toegang te autoriseren en terug te keren naar API Management.
  3. Onder stap 3: Bepalen wie toegang heeft tot deze verbinding (toegangsbeleid), wordt het lid van de beheerde identiteit vermeld. Het toevoegen van andere leden is optioneel, afhankelijk van uw scenario.
  4. Selecteer Voltooien.

De nieuwe verbinding wordt weergegeven in de lijst met verbindingen en geeft de status Verbonden weer. Als u een andere verbinding wilt maken voor de referentieprovider, voert u de voorgaande stappen uit.

Aanbeveling

Gebruik Azure Portal om op elk gewenst moment verbindingen met een referentieprovider toe te voegen, bij te werken of te verwijderen. Zie Meerdere verbindingen configureren voor meer informatie.

Stap 4: Een API maken in API Management en een beleid configureren

  1. Meld u aan bij Azure Portal en ga naar uw API Management-exemplaar.

  2. Selecteer API's in het linkermenu >API's>+ API toevoegen.

  3. Selecteer HTTP en voer de volgende instellingen in, selecteer daarna Maak.

    Configuratie Waarde
    Weergavenaam githubuser
    URL van webservice https://api.github.com
    API-URL-achtervoegsel githubuser
  4. Ga naar de nieuwe API en selecteer Bewerking toevoegen. Voer de volgende instellingen in en selecteer Opslaan.

    Configuratie Waarde
    Weergavenaam getauthdata
    URL voor GET /user

    Schermopname van het toevoegen van een getauthdata-bewerking aan de API in de portal.

  5. Volg de voorgaande stappen om een andere bewerking toe te voegen met de volgende instellingen.

    Configuratie Waarde
    Weergavenaam getauthfollowers
    URL voor GET /gebruiker/volgers
  6. Selecteer Alle bewerkingen. Selecteer in de sectie Binnenkomende verwerking het pictogram (</>) (code-editor).

  7. Kopieer en plak de volgende code in de beleidseditor. Zorg ervoor dat de provider-id waarden authorization-id in het get-authorization-context beleid overeenkomen met respectievelijk de namen van de referentieprovider en de verbinding die u in de voorgaande stappen hebt geconfigureerd. Selecteer Opslaan.

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

De voorgaande beleidsdefinitie bestaat uit drie onderdelen:

Stap 5: de API testen

  1. Selecteer op het tabblad Testen één bewerking die u hebt geconfigureerd.

  2. Klik op Verzenden.

    Schermopname van het testen van de API in de portal.

    Een geslaagd antwoord retourneert gebruikersgegevens van de GitHub-API.