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
- Er is een GitHub-account vereist.
- Een actief API Management-exemplaar. Als dat nodig is, maakt u een Azure API Management-exemplaar.
- Schakel een door het systeem toegewezen beheerde identiteit in voor API Management in het API Management-exemplaar.
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.
Meld u aan bij GitHub.
Ga in uw accountprofiel naar Instellingen > Developer Instellingen > OAuth-apps. Selecteer de nieuwe OAuth-app.
- Voer een toepassingsnaam en startpagina-URL voor de toepassing in. In dit voorbeeld kunt u een tijdelijke aanduidings-URL opgeven, zoals
http://localhost
. - Voeg eventueel een beschrijving van de toepassing toe.
- 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.
- Voer een toepassingsnaam en startpagina-URL voor de toepassing in. In dit voorbeeld kunt u een tijdelijke aanduidings-URL opgeven, zoals
Selecteer Toepassing registreren.
Kopieer op de pagina Algemeen de client-id die u in stap 2 gaat gebruiken.
Selecteer Een nieuw clientgeheim genereren. Kopieer het geheim, dat niet opnieuw wordt weergegeven en die u in stap 2 gaat gebruiken.
Stap 2: een referentieprovider configureren in API Management
Meld u aan bij de portal en ga naar uw API Management-exemplaar.
Selecteer Referentiebeheer>+ Maken in het linkermenu.
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 Selecteer Maken.
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.
- Voer een Verbinding maken ionnaam in en selecteer Opslaan.
- 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.
- 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.
- 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
Meld u aan bij de portal en ga naar uw API Management-exemplaar.
Selecteer API's en API's >toevoegen in het linkermenu.
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 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 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 Selecteer Alle bewerkingen. Selecteer in de sectie Binnenkomende verwerking het pictogram (</>) (code-editor).
Kopieer het volgende en plak deze in de beleidseditor. Zorg ervoor dat de
provider-id
waardenauthorization-id
in hetget-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:
- Het get-authorization-contextbeleid haalt een autorisatietoken op door te verwijzen naar de referentieprovider en de verbinding die u eerder hebt gemaakt.
- Het eerste set-headerbeleid maakt een HTTP-header met het opgehaalde autorisatietoken.
- Met het tweede set-headerbeleid wordt een
User-Agent
header gemaakt (GitHub API-vereiste).
Stap 5: de API testen
Selecteer op het tabblad Testen één bewerking die u hebt geconfigureerd.
Selecteer Verzenden.
Een geslaagd antwoord retourneert gebruikersgegevens van de GitHub-API.
Gerelateerde inhoud
- Meer informatie over verificatie- en autorisatiebeleid
- Meer informatie over de REST API van GitHub