Parte 2: genera e testa una chiave API

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
informazioni

Eseguito il refactoring e reindirizzato a Proteggi un'API richiedendo chiavi API.

Uno sviluppatore crea un'app che invia richieste alle tue API per accedere ai servizi di backend. Per controllare l'accesso alle tue API, puoi richiedere allo sviluppatore di passare una chiave API a ogni richiesta. Se la chiave non è presente o non è valida, la richiesta non va a buon fine.

La pubblicazione è il processo di messa a disposizione delle API per l'utilizzo da parte degli sviluppatori di app. Le API di pubblicazione possono essere definite in modo ampio nelle seguenti attività:

  1. Crea su Apigee Edge i prodotti API che raggruppano le tue API.
  2. Registra gli sviluppatori di app su Edge. Solo uno sviluppatore registrato può registrare un'app.
  3. Gli sviluppatori registrano le app su Edge per accedere ai prodotti API. In risposta, lo sviluppatore riceve una chiave API. Ora che lo sviluppatore dispone di una chiave API, può effettuare richieste alle tue API.

Per ulteriori informazioni, consulta la sezione Introduzione alla pubblicazione.

La tabella seguente definisce alcuni dei termini utilizzati per registrare le app e generare chiavi:

Termine Definizione
Prodotto API Un bundle di proxy API combinato con un piano di servizio che imposta i limiti di accesso a queste API. I prodotti API sono il meccanismo centrale che Apigee Edge utilizza per l'autorizzazione e il controllo dell'accesso alle tue API.
Developer Il consumer dell'API. Gli sviluppatori scrivono app che effettuano richieste alle tue API.
App Un'app lato client che uno sviluppatore registra per accedere a un prodotto API. La registrazione dell'app con il prodotto API genera la chiave API per l'accesso alle API in quel prodotto.
Chiave API Una stringa con informazioni sull'autorizzazione utilizzate da un'app lato client per accedere alle risorse esposte dal prodotto API. La chiave API viene generata quando un'app registrata viene associata a un prodotto API.

Prerequisiti per questo tutorial

Questo tutorial presuppone che tu abbia completato il primo tutorial, in cui devi creare un proxy API per accedere all'API Yahoo Weather. Se non hai ancora completato il primo tutorial, consulta Proteggere un'API richiedendo chiavi API.

Passaggio 1: crea un prodotto API

  1. Nell'interfaccia utente di gestione, fai clic sulla scheda Pubblica, quindi su Prodotti.
  2. Fai clic su Prodotto(+).
  3. Inserisci o seleziona quanto segue nei campi di dialogo Aggiungi prodotto:
    Campo Valore
    Nome Prodotto API senza costi
    Nome visualizzato Prodotto API senza costi
    Descrizione Prodotto API senza costi
    Ambiente test
    Accesso Solo interno
    Tipo di approvazione chiave Automatica
    (la chiave API viene approvata automaticamente dopo essere stata generata)
    Quota 10 richieste ogni ora
    (limita il numero di richieste a 10 all'ora)
    Ambiti OAuth consentiti lascia vuoto

    La finestra di dialogo compilata dovrebbe avere il seguente aspetto:

  4. Nella sezione Risorse, scegli:
    • Proxy API: weatherapikey
    • Revisione: 1
    • Percorso risorsa: /forecastrss**

      Il Percorso della risorsa specifica gli URI della risorsa a cui il prodotto consente l'accesso da parte di un'app. In questo esempio, un'app può accedere alla risorsa /forecastrss sul proxy weatherapikey solo tramite questo prodotto API. È vietato utilizzare questo prodotto API per accedere a qualsiasi altra risorsa sul proxy weatherapiproxy o su qualsiasi altro proxy.

      Sono consentiti caratteri jolly per Percorso risorsa. Il carattere jolly "/**" indica che sono inclusi tutti gli URI secondari, ovvero una risorsa nel formato /forecastrss/foo/bar. Il carattere jolly "/" indica che sono inclusi solo gli URI di un livello inferiore. Per saperne di più, consulta Creare prodotti basati su API.

      Tieni presente che l'elenco a discesa Percorso risorsa mostra tutti i flussi condizionali definiti sul proxy API specificato. Il flusso condizionale di un proxy API definisce la logica, o i passaggi di elaborazione, associati a un percorso della risorsa. Un prodotto API controlla l'accesso a questi percorsi delle risorse.
  5. Fai clic su Importa risorsa. Viene aggiunto il percorso della risorsa e il proxy API weatherapikey viene aggiunto automaticamente alla sezione proxy API per il prodotto.
  6. Fai clic su Salva. Il nuovo prodotto viene visualizzato nella pagina Prodotti.

Scopri di più:

Passaggio 2: registra uno sviluppatore

Per generare una chiave API, devi registrare un'app e associarla a un prodotto API. Tuttavia, non puoi registrare un'app senza prima aver registrato lo sviluppatore dell'app.

  1. Nell'interfaccia utente di gestione, fai clic sulla scheda Pubblica, quindi su Sviluppatori.
  2. Fai clic su +) Sviluppatore.
  3. Nella finestra di dialogo Nuovo sviluppatore, inserisci i seguenti valori:
    • Nome: Jane
    • Cognome: Tutorial
    • Indirizzo email: janetutorial@example.com
    • Nome utente: jtutorial
  4. Fai clic su Salva. Il nuovo sviluppatore viene visualizzato nell'elenco degli sviluppatori della pagina Sviluppatori.

Scopri di più:

Passaggio 3: registra l'app

Ora che disponi di un prodotto API e di uno sviluppatore, puoi registrare un'app con il prodotto API. La registrazione dell'app genera la chiave API per i prodotti API associati all'app. Puoi quindi distribuire la chiave agli sviluppatori di app in modo che possano accedere alle funzionalità dei prodotti API dall'app.

  1. Nell'interfaccia utente di API Platform, fai clic sulla scheda Pubblica, quindi su App per sviluppatori.
  2. Fai clic su +) App sviluppatore.
  3. Nella finestra di dialogo Aggiungi un'app, inserisci i seguenti valori:
    • Nome visualizzato: App Weather API Key
    • Sviluppatore: Jane Tutorial (janetutorial@example.com)
    • Callback URL (URL di callback): lascia vuoto
  4. Associa l'app a un prodotto:
    1. Nella sezione Prodotti, fai clic su + Prodotto.
    2. Seleziona Prodotto API senza costi.
    3. Fai clic sull'icona del segno di spunta per accettare le modifiche.
  5. Fai clic su Salva. La nuova app viene visualizzata nell'elenco di app della pagina App sviluppatore.
  6. Seleziona App Weather API Key nell'elenco delle app. Si apre la pagina dei dettagli dell'app.
  7. Poiché hai selezionato Tipo di approvazione chiave: Automatico quando hai creato il prodotto API, la chiave API viene approvata automaticamente e puoi visualizzarla immediatamente. Se hai selezionato Tipo di approvazione: manuale, devi fare clic su Approva nella colonna Azioni per il prodotto API senza costi per approvare la chiave API.
  8. Nella sezione Prodotti, accanto alla voce Prodotto API senza costi, fai clic su Mostra nelle colonne Chiave utente e Segreto utente per visualizzare le chiavi generate.

    La chiave utente è un altro nome per la chiave API ed è l'unica chiave necessaria a un'app per accedere alla risorsa previsione tramite il proxy API . Il secret del cliente è necessario (insieme alla chiave cliente) per proteggere un'API tramite OAuth 2.0. Vedi, ad esempio, OAuth 2.0: configurare un nuovo proxy API.

Scopri di più:

Passaggio 4: utilizza la chiave API in una richiesta

Per assicurarti che il criterio VerificationAPIKey funzioni correttamente, devi testarlo effettuando una chiamata al proxy API con una chiave API valida. Puoi richiedere il proxy API in un browser, dalla pagina Trace del proxy API, dalla console Apigee o utilizzando cURL. L'URL da richiedere è nel formato:

http://{org-name}-test.apigee.net/v1/weatherapikey/forecastrss?w=12797282&apikey=IEYRtW2cb7A5Gs54A1wKElECBL65GVls

Sostituisci il nome dell'organizzazione Apigee con {org-name} e il valore apikey corretto.

Cerca il seguente contenuto nella risposta:

<rss xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" version="2.0"> 
<channel> <title>Yahoo! Weather - Palo Alto, CA</title> 
<link>http://us.rd.yahoo.com/dailynews/rss/weather/Palo_Alto__CA/*http://weather.yahoo.com/forecast/USCA1093_f.html</link> 
<description>Yahoo! Weather for Palo Alto, CA</description> <language>en-us</language>

Se ometti la chiave API dalla richiesta o specifichi un valore della chiave non valido, riceverai una risposta di errore nel modulo:

{"fault":{"faultstring":"Failed to resolve API Key variable null","detail":{"errorcode":"steps.oauth.v2.FailedToResolveAPIKey"}}}

Passaggio 5: qual è il passaggio successivo?

Ora che hai effettuato una richiesta all'API utilizzando un parametro di query per passare la chiave API, modifica l'API per passare la chiave come intestazione.

Vai alla sezione Proteggere un'API richiedendo chiavi API.