Utilizzo di acurl

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

L'acurl(1) utilità fornisce un wrapper di convenienza attorno a un comando curl standard. acurl:

  • Scambia le tue credenziali Apigee con un token di accesso OAuth2.
  • Rileva quando un token di accesso è scaduto e utilizza il token di aggiornamento per ottenere un nuovo token di accesso.
  • Trasmette il token nell'intestazione Authorization della richiesta API.

Utilizza 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 utilizzi acurl, devi ottenere un token di accesso e aggiungerlo all'intestazione della richiesta API. Un modo per ottenere un token di accesso è utilizzare l'utilità get_token.

Installare acurl

Prima di poter utilizzare acurl, devi installarlo.

Sintassi di acurl

L'utilità acurl utilizza la seguente sintassi:

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

o

acurl API_URL -p PASSCODE

Dove:

Opzione Obbligatorio? Descrizione
API_URL Obbligatorio L'endpoint dell'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 di solito è l'indirizzo email associato al tuo account Apigee. Devi trasmettere il tuo nome utente o un passcode la prima volta che chiami get_token. Non dovrai inserire di nuovo il tuo indirizzo email finché non scadono i token di accesso e di aggiornamento. Se memorizzi nella cache i token per più di un utente, 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 inserirlo 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 al posto della password.
MFACODE Facoltativo Un codice di autenticazione a più fattori (MFA) temporaneo di sei cifre. Questo codice è obbligatorio se utilizzi -u e hai attivato l'MFA. Ti verrà chiesto se lo ometti (a meno che non sia in modalità passcode). Se non hai attivato l'MFA o hai un flusso con 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. È necessario 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 curl opzioni. Ad esempio, puoi passare le intestazioni, specificare il verbo HTTP, aggiungere un corpo e attivare la verbosità utilizzando le opzioni curl standard:

Opzione acurl meaning curl meaning
-u username username
-m MFA code max time (must use long form --max-time)
-p passcode proxy tunnel (must use long form --proxytunnel)
-v verbose verbose
-h help help (must use long form --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 i risultati in base all'endpoint dell'API Edge che hai chiamato. Inoltre, acurl memorizza sia il token di accesso che quello di aggiornamento in ~/.sso-cli.

Puoi continuare a effettuare chiamate senza inserire le credenziali (password e MFA facoltativa o passcode) finché non scadono sia il token di accesso che il token di aggiornamento, come descritto in Scadenza del token.

Eseguire la migrazione da curl

Se utilizzi curl, la migrazione all'utilità acurl è semplice e 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 macchina. Per ulteriori informazioni, consulta OAuth2 per utenti macchina e Utenti macchina nelle zone SAML.

Chiamare acurl per la prima volta

La prima volta che chiami l'API con acurl, fornisci 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 Get organization:

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 ottiene 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 utilizza automaticamente il token di aggiornamento per ottenere un nuovo token di accesso. Quando il token di aggiornamento scade, acurl ti chiederà le tue credenziali Apigee.

Questa richiesta recupera i dettagli dell'organizzazione "ahamilton-eval". Per un elenco completo degli endpoint dell'API Edge, consulta Riferimento API Apigee Edge.


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