Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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
- Testa l'API di GitHub in API Management
Prerequisiti
- Un account GitHub.
- Istanza di Gestione API in esecuzione. Se necessario, creare un'istanza di Gestione API di Azure.
- Abilitare un'identità gestita assegnata dal sistema per Gestione API nell'istanza di Gestione API.
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.
Accedere a GitHub.
Nel profilo dell'account passare a Impostazioni dello sviluppatore > App OAuth.> Selezionare Nuova app OAuth.
- Immettere il nome dell'applicazione e l'URL della home page per l'applicazione. Per questo esempio, è possibile specificare un URL segnaposto, ad esempio
http://localhost. - Facoltativamente, aggiungere una descrizione dell'applicazione.
- In URL di callback di 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 configura il provider di credenziali. - Facoltativamente, selezionare Abilita flusso del dispositivo (non obbligatorio per questo esempio).
- Immettere il nome dell'applicazione e l'URL della home page per l'applicazione. Per questo esempio, è possibile specificare un URL segnaposto, ad esempio
Selezionare Registra applicazione.
Nella pagina Generale copiare l'ID client usato nel passaggio 2.
Selezionare Genera nuovo segreto del client. Copiare il segreto, che non viene visualizzato di nuovo. Configurare il segreto nel passaggio 2.
Passaggio 2: Configurare un provider di credenziali in Gestione API
Accedere al portale di Azure e passare all'istanza di Gestione API.
Nel menu a sinistra selezionare API>Gestione credenziali>+ Crea.
In Crea provider di credenziali immettere le impostazioni seguenti:
Settings Value Nome provider credenziali Nome preferito, ad esempio github-01 Provider di identità Selezionare GitHub Tipo di concessione Selezionare Codice di autorizzazione Client ID Incollare il valore copiato in precedenza dalla registrazione dell'app Segreto del cliente Incollare il valore copiato in precedenza dalla registrazione dell'app Scope Per questo esempio, impostare l'ambito su Utente Fare clic su Crea.
Quando richiesto, esaminare l'URL di reindirizzamento OAuth visualizzato e selezionare Sì per verificare che corrisponda all'URL immesso nella registrazione dell'app GitHub.
Passaggio 3: Configurare una connessione
Nella scheda Connessione completare i passaggi per la connessione al provider.
Annotazioni
Quando si configura una connessione, Gestione API configura per impostazione predefinita 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.
- Immettere un nome di connessione e quindi selezionare Salva.
- In Passaggio 2: Accedere alla connessione (per il tipo di concessione del codice di autorizzazione), selezionare il pulsante Login (Accedi ). Completare i passaggi con il provider di identità per autorizzare l'accesso e tornare a Gestione API.
- In Passaggio 3: Determinare chi avrà accesso a questa connessione (criteri di accesso) viene elencato il membro dell'identità gestita. L'aggiunta di altri membri è facoltativa, a seconda dello scenario.
- Selezionare Completa.
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 di Azure 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
Accedere al portale di Azure e passare all'istanza di Gestione API.
Nel menu a sinistra selezionare API>API>+ Aggiungi API.
Selezionare HTTP e immettere le impostazioni seguenti, quindi selezionare Crea.
Impostazione Value Nome visualizzato githubuser URL del servizio Web https://api.github.comSuffisso URL API githubuser Passare alla nuova API e selezionare Aggiungi operazione. Immettere le impostazioni seguenti e selezionare Salva.
Impostazione Value Nome visualizzato getauthdata URL per GET /user Screenshot dell'aggiunta di un'operazione "getauthdata" all'API nel portale.
Seguire i passaggi precedenti per aggiungere un'altra operazione con le impostazioni seguenti.
Impostazione Value Nome visualizzato getauthfollowers URL per GET /user/follower Selezionare Tutte le operazioni. Nella sezione Elaborazione in ingresso selezionare l'icona (</>) (editor di codice).
Copiare e incollare il codice seguente nell'editor dei criteri. Assicurarsi che i valori
provider-ideauthorization-idnella politicaget-authorization-contextcorrispondano, rispettivamente, ai nomi 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:
- Il criterio get-authorization-context recupera un token di autorizzazione facendo riferimento al provider di credenziali e alla connessione creata in precedenza.
- Il primo criterio set-header crea un'intestazione HTTP con il token di autorizzazione recuperato.
- Il secondo criterio set-header crea un'intestazione
User-Agent(requisito dell'API GitHub).
Passaggio 5: Testare l'API
Nella scheda Test selezionare un'operazione configurata.
Seleziona Invia.
Una risposta con esito positivo restituisce i dati utente dall'API GitHub.
Contenuti correlati
- Altre informazioni sui criteri di autenticazione e autorizzazione
- Altre informazioni sull'API REST di GitHub