Parte 2: genera e testa una chiave API

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

Refactoring e reindirizzamento a Proteggere un'API richiedendo chiavi API.

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

La pubblicazione è il processo che consente di rendere le tue API disponibili per l'utilizzo da parte degli sviluppatori di app per il consumo. La pubblicazione delle API può essere definita in generale dalle seguenti attività:

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

Per saperne di più, consulta Introduzione alla pubblicazione.

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

Termine Definizione
Prodotto API Un pacchetto di proxy API combinato con un piano di servizio che imposta limiti di accesso a queste API. I prodotti API sono il meccanismo centrale utilizzato da Apigee Edge per l'autorizzazione e il controllo dell'accesso alle tue API.
Sviluppatore Il consumatore 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 accedere alle API in quel prodotto.
Chiave API Una stringa con informazioni di autorizzazione che un'app lato client utilizza 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 crei 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. Nella UI di gestione, fai clic sulla scheda Pubblica, quindi Prodotti.
  2. Fai clic su (+) Prodotto.
  3. Inserisci o seleziona quanto segue nei campi della finestra 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 per uso interno
    Tipo di approvazione della chiave Automatico
    (la chiave API viene approvata automaticamente dopo la generazione)
    Quota 10 richieste per 1 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 risorsa specifica gli URI delle risorse a cui il prodotto consente a un'app di accedere. In questo esempio, un'app può accedere solo alla risorsa /forecastrss sul proxy weatherapikey tramite questo prodotto API. È vietato tentare di utilizzare questo prodotto API per accedere a qualsiasi altra risorsa sul proxy weatherapiproxy o su qualsiasi altro proxy.

      I caratteri jolly sono consentiti per il percorso risorsa. Il carattere jolly "/**" indica che sono inclusi tutti i sotto-URI, ovvero una risorsa nel formato /forecastrss/foo/bar. Il carattere jolly "/" indica che sono inclusi solo gli URI di un livello inferiore. inclusi. Per saperne di più, consulta Creare prodotti API.

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

Scopri di più:

Passaggio 2: registra uno sviluppatore

Per generare una chiave API, registra un'app e la associ a un prodotto API. Tuttavia, non puoi registrare un'app senza prima registrare lo sviluppatore dell'app.

  1. Nella UI 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 nella pagina Sviluppatori.

Scopri di più:

Passaggio 3: registra l'app

Ora che hai un prodotto API e 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. Nella UI della piattaforma API, fai clic sulla scheda Pubblica, quindi su App per sviluppatori.
  2. Fai clic su (+) App per sviluppatori.
  3. Nella finestra di dialogo Aggiungi un'app, inserisci i seguenti valori:
    • Nome visualizzato: App API Weather
    • Sviluppatore: Jane Tutorial (janetutorial@example.com)
    • 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 segno di spunta per accettare le modifiche.
  5. Fai clic su Salva. La nuova app viene visualizzata nell'elenco delle app nella pagina App per sviluppatori.
  6. Seleziona App chiave API meteo in the list of apps. Verrà aperta la pagina dei dettagli dell'app.
  7. Poiché hai selezionato Tipo di approvazione della chiave: automatico quando hai creato il prodotto API, la chiave API viene approvata automaticamente e puoi visualizzarla immediatamente. (Se avessi selezionato Tipo di approvazione: manuale, dovresti fare clic 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 Mostra nelle colonne Chiave consumer e Secret consumer per visualizzare le chiavi generate.

    La chiave consumer è un altro nome per la chiave API ed è l'unica chiave di cui un'app ha bisogno per accedere alla risorsa delle previsioni tramite il proxy API . Il secret consumer è necessario (insieme alla chiave consumer) per proteggere un'API tramite OAuth 2.0. Consulta, 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 la policy VerifyAPIKey funzioni correttamente, devi testarla 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 {org-name} con il nome della tua organizzazione Apigee e il valore apikey corretto.

Cerca i seguenti contenuti 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 formato:

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

Passaggio 5: cosa fare dopo?

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

Continua con Proteggere un'API richiedendo chiavi API.