Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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
- Een GitHub-account.
- Een actief API Management-exemplaar. Als u er een nodig hebt, 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 > voor ontwikkelaarsinstellingen > 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.
- 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. - Selecteer optioneel Apparaatstroom inschakelen (niet vereist voor dit voorbeeld).
- 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 gebruikt.
Selecteer Een nieuw clientgeheim genereren. Kopieer het geheim, dat niet opnieuw wordt weergegeven. U configureert het geheim in stap 2.
Stap 2: een referentieprovider configureren in API Management
Meld u aan bij Azure Portal en ga naar uw API Management-exemplaar.
Selecteer in het linkermenu API's>Referentiebeheer>+ Maken.
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 Klik op Creëren.
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.
- Voer een verbindingsnaam in en selecteer Opslaan.
- 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.
- 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 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
Meld u aan bij Azure Portal en ga naar uw API Management-exemplaar.
Selecteer API's in het linkermenu >API's>+ API toevoegen.
Selecteer HTTP en voer de volgende instellingen in, selecteer daarna Maak.
Configuratie Waarde Weergavenaam githubuser URL van webservice https://api.github.comAPI-URL-achtervoegsel githubuser 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
Volg de voorgaande stappen om een andere bewerking toe te voegen met de volgende instellingen.
Configuratie Waarde Weergavenaam getauthfollowers URL voor GET /gebruiker/volgers Selecteer Alle bewerkingen. Selecteer in de sectie Binnenkomende verwerking het pictogram (</>) (code-editor).
Kopieer en plak de volgende code in de beleidseditor. Zorg ervoor dat de
provider-idwaardenauthorization-idin hetget-authorization-contextbeleid 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-context-beleid 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-Agentheader gemaakt (GitHub API-vereiste).
Stap 5: de API testen
Selecteer op het tabblad Testen één bewerking die u hebt geconfigureerd.
Klik op Verzenden.
Een geslaagd antwoord retourneert gebruikersgegevens van de GitHub-API.
Verwante inhoud
- Meer informatie over verificatie- en autorisatiebeleid
- Meer informatie over de REST API van GitHub