Condividi tramite


Configurare Gestione credenziali - API GitHub

SI APPLICA A: Tutti i livelli di Gestione API

Questo articolo illustra come creare una connessione gestita in Gestione API e chiamare un'API GitHub che richiede un token OAuth 2.0. In questo esempio viene usato il tipo di concessione del codice di autorizzazione.

Scopri come:

  • Registrare un'applicazione in GitHub
  • Configurare un provider di credenziali in Gestione API
  • Configurare una connessione
  • Creare un'API in Gestione API e configurare un criterio
  • Testare l'API GitHub in Gestione API

Prerequisiti

Passaggio 1: Registrare un'applicazione in GitHub

Creare un'app OAuth GitHub per l'API e assegnargli le autorizzazioni appropriate per le richieste che si desidera chiamare.

  1. Accedi a GitHub.

  2. Nel profilo dell'account passare a Impostazioni > Developer Impostazioni > app OAuth. Selezionare Nuova app OAuth.

    Screenshot della registrazione di una nuova applicazione OAuth in GitHub.

    1. Immettere Nome applicazione e URL della home page per l'applicazione. Per questo esempio, è possibile specificare un URL segnaposto, http://localhostad esempio .
    2. Facoltativamente, immettere una descrizione dell'applicazione.
    3. In URL di callback autorizzazione (URL di reindirizzamento) immettere https://authorization-manager.consent.azure-apim.net/redirect/apim/<YOUR-APIM-SERVICENAME>, sostituendo il nome dell'istanza di Gestione API in cui si configurerà il provider di credenziali.
  3. Selezionare Registra applicazione.

  4. Nella pagina Generale copiare l'ID client, che verrà usato nel passaggio 2.

  5. Selezionare Genera un nuovo segreto client. Copiare il segreto, che non verrà visualizzato di nuovo e che verrà usato nel passaggio 2.

    Screenshot che mostra come ottenere l'ID client e il segreto client per l'applicazione in GitHub.

Passaggio 2: Configurare un provider di credenziali in Gestione API

  1. Accedere al portale e passare all'istanza di Gestione API.

  2. Nel menu a sinistra selezionare Gestione> credenziali+ Crea.

    Screenshot della creazione di una credenziale Gestione API nel portale di Azure.

  3. Nella pagina Crea provider di credenziali immettere le impostazioni seguenti:

    Impostazioni Valore
    Nome provider credenziali Il nome che si desidera, ad esempio github-01
    Provider di identità Selezionare GitHub
    Tipo di concessione Selezionare Codice di autorizzazione
    ID client Incollare il valore copiato in precedenza dalla registrazione dell'app
    Segreto client Incollare il valore copiato in precedenza dalla registrazione dell'app
    Scope Per questo esempio, impostare l'ambito su Utente
  4. Seleziona Crea.

  5. Quando richiesto, esaminare l'URL di reindirizzamento OAuth visualizzato e selezionare per confermare che corrisponda all'URL immesso nella registrazione dell'app.

Passaggio 3: Configurare una connessione

Nella scheda Connessione completare i passaggi per la connessione al provider.

Nota

Quando si configura una connessione, per impostazione predefinita Gestione API configura un criterio di accesso che consente l'accesso dall'identità gestita assegnata dai sistemi dell'istanza. Questo accesso è sufficiente per questo esempio. È possibile aggiungere altri criteri di accesso in base alle esigenze.

  1. Immettere un nome connessione e quindi selezionare Salva.
  2. In Passaggio 2: Accedere alla connessione (per il tipo di concessione del codice di autorizzazione), selezionare il collegamento per accedere al provider di credenziali. Completare i passaggi necessari per autorizzare l'accesso e tornare a Gestione API.
  3. Nel Passaggio 3: Determinare chi avrà accesso a questa connessione (criterio di accesso) viene elencato il membro dell'identità gestita. L'aggiunta di altri membri è facoltativa, a seconda dello scenario.
  4. Selezionare Completo.

La nuova connessione viene visualizzata nell'elenco delle connessioni e mostra lo stato Connesso. Se si vuole creare un'altra connessione per il provider di credenziali, completare i passaggi precedenti.

Suggerimento

Usare il portale per aggiungere, aggiornare o eliminare connessioni a un provider di credenziali in qualsiasi momento. Per altre informazioni, vedere Configurare più connessioni.

Passaggio 4: Creare un'API in Gestione API e configurare un criterio

  1. Accedere al portale e passare all'istanza di Gestione API.

  2. Nel menu a sinistra selezionare API > + Aggiungi API.

  3. Selezionare HTTP e inserire le impostazioni seguenti. Selezionare Crea.

    Impostazione Valore
    Nome visualizzato githubuser
    URL servizio Web https://api.github.com
    Suffisso dell'URL dell'API githubuser
  4. Passare all'API appena creata e selezionare Aggiungi operazione. Inserire le impostazioni seguenti e selezionare Salva.

    Impostazione Valore
    Nome visualizzato getauthdata
    URL per GET /utente

    Screenshot dell'aggiunta di un'operazione getauthdata all'API nel portale.

  5. Seguire i passaggi precedenti per aggiungere un'altra operazione con le impostazioni seguenti.

    Impostazione Valore
    Nome visualizzato getauthfollowers
    URL per GET /user/follower
  6. Selezionare Tutte le operazioni. Nella sezione Elaborazione in ingresso selezionare l'icona (</>) (editor di codice).

  7. Copiare quanto segue e incollarlo nell'editor dei criteri. Assicurarsi che i valori provider-id e authorization-id del criterio get-authorization-context corrispondano rispettivamente al nome del provider di credenziali e della connessione, configurati nei passaggi precedenti. Seleziona Salva.

    <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>
    

La definizione di criteri precedente è costituita da tre parti:

Passaggio 5: Testare l'API

  1. Nella scheda Test seleziona un'operazione configurata.

  2. Selezionare Invia.

    Screenshot del test dell'API nel portale.

    Una risposta con esito positivo restituisce i dati utente dall'API GitHub.