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
- Un account GitHub è obbligatorio.
- Un'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.
Accedi a GitHub.
Nel profilo dell'account passare a Impostazioni > Developer Impostazioni > app OAuth. Selezionare Nuova app OAuth.
- Immettere Nome applicazione e URL della home page per l'applicazione. Per questo esempio, è possibile specificare un URL segnaposto,
http://localhost
ad esempio . - Facoltativamente, immettere una descrizione dell'applicazione.
- 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.
- Immettere Nome applicazione e URL della home page per l'applicazione. Per questo esempio, è possibile specificare un URL segnaposto,
Selezionare Registra applicazione.
Nella pagina Generale copiare l'ID client, che verrà usato nel passaggio 2.
Selezionare Genera un nuovo segreto client. Copiare il segreto, che non verrà visualizzato di nuovo e che verrà usato nel passaggio 2.
Passaggio 2: Configurare un provider di credenziali in Gestione API
Accedere al portale e passare all'istanza di Gestione API.
Nel menu a sinistra selezionare Gestione> credenziali+ Crea.
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 Seleziona Crea.
Quando richiesto, esaminare l'URL di reindirizzamento OAuth visualizzato e selezionare Sì 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.
- Immettere un nome connessione e quindi selezionare Salva.
- 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.
- 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.
- 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
Accedere al portale e passare all'istanza di Gestione API.
Nel menu a sinistra selezionare API > + Aggiungi API.
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 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 Seguire i passaggi precedenti per aggiungere un'altra operazione con le impostazioni seguenti.
Impostazione Valore Nome visualizzato getauthfollowers URL per GET /user/follower Selezionare Tutte le operazioni. Nella sezione Elaborazione in ingresso selezionare l'icona (</>) (editor di codice).
Copiare quanto segue e incollarlo nell'editor dei criteri. Assicurarsi che i valori
provider-id
eauthorization-id
del criterioget-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:
- 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 di intestazione set crea un'intestazione HTTP con il token di autorizzazione recuperato.
- Il secondo criterio di intestazione set crea un'intestazione
User-Agent
(requisito dell'API GitHub).
Passaggio 5: Testare l'API
Nella scheda Test seleziona un'operazione configurata.
Selezionare Invia.
Una risposta con esito positivo restituisce i dati utente dall'API GitHub.
Contenuto correlato
- Altre informazioni sui criteri di autenticazione e autorizzazione
- Altre informazioni sull'API REST di GitHub