Konfigurera autentiseringshanteraren – GitHub API

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

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.

  1. Logga in på GitHub.

  2. Gå till Inställningar > Developer Inställningar > OAuth Apps i din kontoprofil. Välj Ny OAuth-app.

    Skärmbild av registrering av ett nytt OAuth-program i GitHub.

    1. 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.
    2. Du kan också lägga till en programbeskrivning.
    3. 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.
  3. Välj Registrera program.

  4. På sidan Allmänt kopierar du klient-ID :t som du ska använda i steg 2.

  5. Välj Generera en ny klienthemlighet. Kopiera hemligheten, som inte visas igen och som du ska använda i steg 2.

    Skärmbild som visar hur du hämtar klient-ID och klienthemlighet för programmet i GitHub.

Steg 2: Konfigurera en provider för autentiseringsuppgifter i API Management

  1. Logga in på portalen och gå till din API Management-instans.

  2. På den vänstra menyn väljer du Autentiseringshanteraren>+ Skapa.

    Skärmbild av hur du skapar en API Management-autentiseringsuppgift i Azure-portalen.

  3. 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
    Klient-ID Klistra in det värde som du kopierade tidigare från appregistreringen
    Client secret Klistra in det värde som du kopierade tidigare från appregistreringen
    Definitionsområde I det här exemplet anger du omfånget till Användare
  4. Välj Skapa.

  5. 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 Anslut ion slutför du stegen för anslutningen till providern.

Kommentar

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.

  1. Ange ett Anslut ionsnamn och välj sedan Spara.
  2. Under Steg 2: Logga in på din anslutning (för beviljandetyp för auktoriseringskod) väljer du länken för att logga in på autentiseringsprovidern. Slutför stegen där för att auktorisera åtkomst och återgå till API Management.
  3. 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.
  4. Välj Slutför.

Den nya anslutningen visas i listan över anslutningar och visar statusen Anslut ed. Om du vill skapa en annan anslutning för providern för autentiseringsuppgifter slutför du föregående steg.

Dricks

Använd 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

  1. Logga in på portalen och gå till din API Management-instans.

  2. På den vänstra menyn väljer du API:er > + Lägg till API.

  3. Välj HTTP och ange följande inställningar. Välj sedan Skapa.

    Inställning Värde
    Visningsnamn githubuser
    Url för webbtjänst https://api.github.com
    API URL-suffix githubuser
  4. 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 /användare

    Skärmbild av att lägga till en getauthdata-åtgärd i API:et i portalen.

  5. 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
  6. Välj Alla åtgärder. I avsnittet Inkommande bearbetning väljer du ikonen (</>) (kodredigeraren).

  7. Kopiera följande och klistra in i principredigeraren. Kontrollera att provider-id värdena och authorization-id i get-authorization-context principen 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:

Steg 5: Testa API:et

  1. På fliken Test väljer du en åtgärd som du har konfigurerat.

  2. Välj Skicka.

    Skärmbild av att testa API:et i portalen.

    Ett lyckat svar returnerar användardata från GitHub-API:et.