Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
GÄLLER FÖR: Alla API Management-nivåer
I den här artikeln får du lära dig hur du skapar en hanterad anslutning i API Management och anropar ett GitHub-API som kräver en OAuth 2.0-token. Auktoriseringskodens beviljandetyp används i det här exemplet.
Du lär dig att:
- Registrera ett program i GitHub
- Konfigurera en provider för autentiseringsuppgifter i API Management
- Konfigurera en anslutning
- Skapa ett API i API Management och konfigurera en princip
- Testa ditt GitHub-API i API Management
Förutsättningar
- Ett GitHub-konto krävs.
- En API Management-instans som körs. Om du behöver det skapar du en Azure API Management-instans.
- Aktivera en systemtilldelad hanterad identitet för API Management i API Management-instansen.
Steg 1: Registrera ett program i GitHub
Skapa en GitHub OAuth-app för API:et och ge den lämpliga behörigheter för de begäranden som du vill anropa.
Logga in på GitHub.
I din kontoprofil går du till Inställningar > Utvecklarinställningar > OAuth-appar. Välj Ny OAuth-app.
- Ange ett programnamn och webbadressen till startsidan för programmet. I det här exemplet kan du ange en platshållar-URL, till exempel
http://localhost. - Du kan också lägga till en programbeskrivning.
- I URL för auktoriseringsåteranrop (omdirigerings-URL: en) anger du
https://authorization-manager.consent.azure-apim.net/redirect/apim/<YOUR-APIM-SERVICENAME>och ersätter namnet på DEN API Management-instans där du konfigurerar providern för autentiseringsuppgifter.
- Ange ett programnamn och webbadressen till startsidan för programmet. I det här exemplet kan du ange en platshållar-URL, till exempel
Välj Registrera program.
På sidan Allmänt kopierar du klient-ID:t som du ska använda i steg 2.
Välj Generera en ny klienthemlighet. Kopiera hemligheten, som inte visas igen och som du ska använda i steg 2.
Steg 2: Konfigurera en provider för autentiseringsuppgifter i API Management
Logga in på Azure-portalen och gå till din API Management-instans.
På den vänstra menyn väljer du API:er>Autentiseringshanteraren>+ Skapa.
På sidan Skapa provider för autentiseringsuppgifter anger du följande inställningar:
Inställningar Värde Providernamn för autentiseringsuppgifter Ett valfritt namn, till exempel github-01 Identitetsprovider Välj GitHub Bevilja typ Välj auktoriseringskod Kund-ID Klistra in det värde som du kopierade tidigare från appregistreringen Klienthemlighet Klistra in det värde som du kopierade tidigare från appregistreringen Scope I det här exemplet anger du omfånget till Användare Välj Skapa.
När du uppmanas till det granskar du omdirigerings-URL:en för OAuth som visas och väljer Ja för att bekräfta att den matchar den URL som du angav i appregistreringen.
Steg 3: Konfigurera en anslutning
På fliken Anslutning slutför du stegen för din anslutning till providern.
Anmärkning
När du konfigurerar en anslutning konfigurerar API Management som standard en åtkomstprincip som möjliggör åtkomst av instansens systemtilldelade hanterade identitet. Den här åtkomsten räcker för det här exemplet. Du kan lägga till ytterligare åtkomstprinciper efter behov.
- Ange ett anslutningsnamn och välj sedan Spara.
- Under Steg 2: Logga in på din anslutning (för beviljandetyp för auktoriseringskod) väljer du knappen Logga in . Slutför stegen där för att auktorisera åtkomst och återgå till API Management.
- Under Steg 3: Avgör vem som ska ha åtkomst till den här anslutningen (åtkomstprincip) visas den hanterade identitetsmedlemmen. Det är valfritt att lägga till andra medlemmar, beroende på ditt scenario.
- Välj Slutför.
Den nya anslutningen visas i listan över anslutningar och visar statusen Ansluten. Om du vill skapa en annan anslutning för providern för autentiseringsuppgifter slutför du föregående steg.
Tips/Råd
Använd Azure-portalen för att lägga till, uppdatera eller ta bort anslutningar till en autentiseringsprovider när som helst. Mer information finns i Konfigurera flera anslutningar.
Steg 4: Skapa ett API i API Management och konfigurera en princip
Logga in på Azure-portalen och gå till din API Management-instans.
På den vänstra menyn väljer du API:er>+>Lägg till API.
Välj HTTP och ange följande inställningar och välj sedan Skapa.
Inställning Värde Visningsnamn githubuser Url för webbtjänst https://api.github.comAPI URL-suffix githubuser Navigera till det nyligen skapade API:et och välj Lägg till åtgärd. Ange följande inställningar och välj Spara.
Inställning Värde Visningsnamn getauthdata URL för GET /user
Följ stegen ovan för att lägga till ytterligare en åtgärd med följande inställningar.
Inställning Värde Visningsnamn getauthfollowers URL för GET /användare/följare Välj Alla åtgärder. I avsnittet Inkommande bearbetning väljer du ikonen (</>) (kodredigeraren).
Kopiera och klistra in följande i principredigeraren. Kontrollera att
provider-idvärdena ochauthorization-idiget-authorization-contextprincipen motsvarar namnen på autentiseringsprovidern respektive anslutningen som du konfigurerade i föregående steg. Välj Spara.<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>
Den föregående principdefinitionen består av tre delar:
- Principen get-authorization-context hämtar en auktoriseringstoken genom att referera till providern för autentiseringsuppgifter och anslutningen som du skapade tidigare.
- Den första principen för set-header skapar ett HTTP-huvud med den hämtade auktoriseringstoken.
- Den andra principen för set-header skapar ett
User-Agenthuvud (GitHub API-krav).
Steg 5: Testa API:et
På fliken Test väljer du en åtgärd som du har konfigurerat.
Välj Skicka.
Ett lyckat svar returnerar användardata från GitHub-API:et.
Relaterat innehåll
- Läs mer om autentiserings- och auktoriseringsprinciper
- Läs mer om GitHubs REST API