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. Het toekenningstype autorisatiecode wordt in dit voorbeeld 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

Vereisten

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 > Developer Instellingen > 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. Voer https://authorization-manager.consent.azure-apim.net/redirect/apim/<YOUR-APIM-SERVICENAME>in de callback-URL voor autorisatie (de omleidings-URL) de naam in van het API Management-exemplaar waarin u de referentieprovider configureert.
  3. Selecteer Toepassing registreren.

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

  5. Selecteer Een nieuw clientgeheim genereren. Kopieer het geheim, dat niet opnieuw wordt weergegeven en die u in stap 2 gaat gebruiken.

    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 de portal en ga naar uw API Management-exemplaar.

  2. Selecteer Referentiebeheer>+ Maken in het linkermenu.

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

  3. Voer op de pagina Referentieprovider maken de volgende instellingen in:

    Instellingen Weergegeven als
    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
    Client secret Plak de waarde die u eerder hebt gekopieerd uit de app-registratie
    Scope Stel voor dit voorbeeld het bereik in op Gebruiker
  4. Selecteer Maken.

  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 app-registratie.

Stap 3: Een verbinding configureren

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

Notitie

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 Verbinding maken ionnaam in en selecteer Opslaan.
  2. Onder stap 2: Meld u aan bij uw verbinding (voor het verlenen van autorisatiecodetype) selecteert u de koppeling om u aan te melden bij de referentieprovider. Voer de stappen uit 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 toont een status van Verbinding maken ed. Als u een andere verbinding wilt maken voor de referentieprovider, voert u de voorgaande stappen uit.

Tip

Gebruik de 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 de portal en ga naar uw API Management-exemplaar.

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

  3. Selecteer HTTP en voer de volgende instellingen in. Selecteer vervolgens Maken.

    Instelling Weergegeven als
    Weergavenaam githubuser
    URL van webservice https://api.github.com
    API-URL-achtervoegsel githubuser
  4. Navigeer naar de zojuist gemaakte API en selecteer Bewerking toevoegen. Voer de volgende instellingen in en selecteer Opslaan.

    Instelling Weergegeven als
    Weergavenaam getauthdata
    URL voor GET /gebruiker

    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.

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

  7. Kopieer het volgende en plak deze 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. Selecteer Verzenden.

    Schermopname van het testen van de API in de portal.

    Een geslaagd antwoord retourneert gebruikersgegevens van de GitHub-API.