Utilizzo di acurl

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

L'utilità acurl(1) fornisce un wrapper per la comodità di un comando curl standard. acurl:

  • Scambia le tue credenziali Apigee con un token di accesso OAuth2.
  • Rileva la scadenza di un token di accesso e utilizza il token di aggiornamento per ottenerne uno nuovo.
  • Trasmette il token nell'intestazione Authorization della richiesta API.

Puoi utilizzare i token di accesso per chiamare gli endpoint dell'API Edge con OAuth2, inclusi i flussi di lavoro LDAP e SAML.

Se utilizzi OAuth2 per accedere all'API Edge, ma non usi acurl, devi ottenere un token di accesso e aggiungerlo manualmente all'intestazione della richiesta API. Un modo per ottenere un token di accesso è utilizzare l'utilità get_token.

Installa acurl

Prima di poter utilizzare acurl, devi installarlo.

sintassi acurl

L'utilità acurl utilizza la seguente sintassi:

acurl API_URL -u USERNAME:PASSWORD [-m MFACODE]

o

acurl API_URL -p PASSCODE

Dove:

Opzione Campo obbligatorio? Descrizione
API_URL Obbligatorio L'endpoint API Apigee Edge. Per un elenco completo degli endpoint, consulta Riferimento API Apigee Edge.
USERNAME Facoltativo. È richiesta una combinazione di nome utente e password o un passcode. Il tuo nome utente Apigee, che in genere corrisponde all'indirizzo email associato all'account Apigee. Devi passare il tuo nome utente o un passcode la prima volta che chiami get_token. Non dovrai passare nuovamente il tuo indirizzo email finché i token di accesso e di aggiornamento non saranno scaduti. Se memorizzi nella cache token per più utenti, devi specificare il tuo nome utente in ogni chiamata.
PASSWORD Facoltativo. È richiesta una combinazione di nome utente e password o un passcode. La password del tuo account Apigee. Se ometti la password, ti verrà chiesto di inserirla la prima volta che utilizzi acurl e in tutte le chiamate successive senza un token di aggiornamento valido. Se non vuoi utilizzare la password direttamente nel comando, puoi utilizzare un passcode monouso anziché la password.
MFACODE Facoltativo Un codice di autenticazione a più fattori (MFA) temporaneo a sei cifre. Questo codice è richiesto se utilizzi -u e hai attivato l'autenticazione MFA. Se non è attiva, ti verrà chiesto di confermare (a meno che non sia in modalità passcode). Se non hai abilitato l'autenticazione MFA o hai un flusso basato su script, puoi specificare -m "" per evitare le richieste.
PASSCODE Facoltativo. È richiesta una combinazione di nome utente e password o un passcode. Un passcode monouso che puoi utilizzare al posto di una password. È richiesto un passcode per l'autenticazione con un IdP SAML e può essere utilizzato per l'autenticazione con un IdP LDAP.

Ad esempio:

acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com -p 424242
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com:mypassw0rd
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com:mypassw0rd -m 123456

Oltre alle opzioni mostrate sopra, acurl accetta tutte le opzioni di curl. Ad esempio, puoi trasmettere intestazioni, specificare il verbo HTTP, aggiungere un corpo e attivare le Preferenze di lettura utilizzando le opzioni curl standard:

Opzione acurl meaning curl meaning
-u username username
-m MFA code max time (deve utilizzare il formato lungo --max-time)
-p passcode proxy tunnel (deve utilizzare il formato lungo --proxytunnel)
-v verbose verbose
-h help help (deve utilizzare il formato lungo --help)
acurl -v -X POST -H 'Content-Type: application/json' \
    https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/apiproducts/myproduct/attributes/attr \
    -u ahamilton@apigee.com -d '{"value":42}'

Una chiamata acurl riuscita restituisce risultati in base all'endpoint API Edge che hai chiamato. Inoltre, acurl archivia sia il token di accesso che il token di aggiornamento in ~/.sso-cli.

Puoi continuare a effettuare chiamate senza inserire le credenziali (password e MFA facoltativo o passcode) fino alla scadenza sia del token di accesso sia del token di aggiornamento, come descritto nella sezione Scadenza dei token.

Esegui la migrazione da curl

Se utilizzi curl, la migrazione all'utilità acurl è semplice ed elimina la necessità di codificare manualmente le credenziali. Dopo aver scaricato e installato l'utilità, puoi sostituire:

curl -u username
con:
acurl -u username

L'utilità acurl codificherà le tue credenziali e di tanto in tanto ti chiederà le credenziali aggiuntive necessarie per ottenere nuove coppie di token.

L'utilità acurl può essere utilizzata anche per sostituire curl per gli utenti delle macchine. Per maggiori informazioni, consulta OAuth2 per utenti delle macchine e Utenti delle macchine nelle zone SAML.

Chiama acurl per la prima volta

La prima volta che chiami l'API con acurl, dovrai fornire le tue credenziali Apigee (il nome utente e la password del tuo account Apigee o un passcode) in modo che acurl possa scambiarle con un token di accesso e un token di aggiornamento.

L'esempio seguente mostra una chiamata iniziale con acurl per ottenere i dettagli di un'organizzazione utilizzando l'endpoint Ottieni organizzazione:

acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \
  -u ahamilton@apigee.com
Enter the password for user 'ahamilton@apigee.com':
[hidden input]
Enter the six-digit code (no spaces) if 'ahamilton@apigee.com' is MFA-enabled or press ENTER:
1a2b3c
{
  "createdAt" : 1491854501264,
  "createdBy" : "noreply_iops@apigee.com",
  "displayName" : "ahamilton",
  "environments" : [ "prod", "test" ],
  "lastModifiedAt" : 1491854501264,
  "lastModifiedBy" : "noreply_iops@apigee.com",
  "name" : "ahamilton",
  "properties" : {
    "property" : [ {
      "name" : "features.isSmbOrganization",
      "value" : "false"
    }, {
      "name" : "features.isCpsEnabled",
      "value" : "true"
    } ]
  },
  "type" : "trial"
}

L'utilità acurl riceve un token di accesso e lo inserisce nella chiamata all'endpoint dell'API Edge:

curl -H "Authorization: Bearer oauth2_access_token" ...

Il token di accesso viene archiviato localmente in ~/.sso-cli e utilizzato per le chiamate successive.

Dopo la scadenza del token di accesso, acurl lo utilizza automaticamente per ottenere un nuovo token di accesso. Alla scadenza del token di aggiornamento, acurl ti chiederà le credenziali Apigee.

Questa richiesta fornisce dettagli sull'organizzazione "ahamilton-eval". Per un elenco completo degli endpoint API Edge, consulta il riferimento per le API Apigee Edge.


(1) Copyright 2023 Google LLC
Lo strumento acurl è reso disponibile come "Software" ai sensi del contratto che regola l'utilizzo della piattaforma Google Cloud da parte dell'utente, inclusi i Termini specifici del servizio disponibili all'indirizzo https://cloud.google.com/terms/service-terms.