Uso del metodo get_token

Stai visualizzando la documentazione di Apigee Edge.
Visualizza la documentazione di Apigee X.

L'utilità get_token(1) consente di scambiare le credenziali di Apigee con un token di accesso e di aggiornamento che puoi utilizzare per accedere alle API perimetrali. I token possono essere utilizzati anche con le implementazioni SAML e LDAP dei flussi di lavoro OAuth2.

get_token ti consente di:

  • Ottenere un token di accesso o di aggiornamento.
  • Stampa i token in stdout per utilizzarli nelle variabili e nei comandi.
  • Archivia i token sul tuo disco.

Potrai quindi aggiungere un token valido nelle tue richieste all'API Edge e ottenere un nuovo token alla sua scadenza.

Prerequisito: prima di poter utilizzare get_token, è necessario installarlo.

Sintassi get_token

L'utilità get_token utilizza la seguente sintassi:

get_token -u USERNAME:PASSWORD [-m MFACODE]

o

get_token -p passcode

Dove:

Elemento Campo obbligatorio? Descrizione
USERNAME Facoltativo. Sono necessari 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. La prima volta che chiami get_token devi trasmettere il tuo nome utente o un passcode. Non dovrai passare di nuovo l'indirizzo email fino alla scadenza dei token di accesso e di aggiornamento. Se stai memorizzando nella cache i token per più utenti, devi specificare il tuo nome utente in ogni chiamata.
PASSWORD Facoltativo. Sono necessari una combinazione di nome utente e password o un passcode. La password dell'account Apigee. Se ometti la password, ti verrà chiesto di inserirla la prima volta che utilizzi get_token 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 a codice singolo anziché la tua password.
MFACODE Facoltativo Un codice di autenticazione a più fattori (MFA) temporaneo a sei cifre. Questo codice è obbligatorio se utilizzi -u e hai abilitato MFA. Ti verrà chiesto se omesso (a meno che non sia in modalità passcode). Se non hai abilitato MFA o disponi di un flusso basato su script, puoi specificare -m "" per evitare le richieste.
PASSCODE Facoltativo. Sono necessari una combinazione di nome utente e password o un passcode. Un passcode una tantum che puoi utilizzare al posto di una password. L'autenticazione con un IdP SAML è obbligatoria e può essere utilizzata per eseguire l'autenticazione con un IdP LDAP.

Ad esempio:

get_token
get_token -u ahamilton@apigee.com:mypassw0rd -m 424242
get_token -p mypass

Una chiamata riuscita stampa un token di accesso valido in stdout e archivia sia i token di accesso che quelli di aggiornamento in ~/.sso-cli. Puoi utilizzare questi token fino alla relativa scadenza, come descritto in Scadenza del token.

Dopo la prima chiamata a get_token, non devi includere le tue credenziali fino alla scadenza dei token.

Chiamare get_token per la prima volta

Se non specifichi alcuna opzione nella prima chiamata, get_token ti chiederà quanto segue:

  • Un passcode, se eseguito l'autenticazione con un provider di identità (IdP) SAML.
  • In caso contrario, il tuo nome utente, la password e un codice MFA temporaneo.

L'esempio seguente chiama get_token per la prima volta e utilizza una combinazione nome utente/password con un codice MFA facoltativo per l'autenticazione:

get_token
Enter username:
ahamilton@apigee.com
Enter the password for user 'ahamilton@apigee.com':
[hidden input]
Enter the six-digit code if 'ahamilton@apigee.com' is MFA-enabled or press ENTER:
123456

ey42bGciOiJSUzI1NiJ9.eyJqdGkiOiJhM2YwNjA5ZC1lZTIxLTQ1YjAtOGQyMi04MTQ0MTYxNjNhNTMiLCJzdWIiOiIyZDFl
  <snip>
VlLmNvbSIsInppZCI6InVhYSIsImF1ZCI6WyJlZGdlY2xpIiwic2NpbSIsIm9wZW5pZCIsInBhc3N3b3JkIiwiYXBwcm54242

Aggiungere il token di accesso a una richiesta

Dopo aver chiamato correttamente get_token, puoi utilizzare il token di accesso passandolo nell'intestazione Authorization delle chiamate all'API Edge in vari modi. Puoi:

  • Copia il contenuto della risposta get_token e inseriscilo direttamente nell'intestazione:
    curl https://api.enterprise.apigee.com/v1/organizations/danger4242-eval \
      -H "Authorization: Bearer B42CnTIYPxr...88NI5Q"
  • Combina i comandi per ottenere il token e aggiungerlo all'intestazione:
    token=$(get_token); curl -H "Authorization: Bearer $token" \
      https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval

    Tieni presente che get_token utilizza la sintassi di sostituzione del comando $(...) in modo che venga eseguita.

  • Chiama get_token all'interno della chiamata curl:
    curl -H "Authorization: Bearer $(get_token)" \
      https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval

    Tieni presente che get_token utilizza la sintassi di sostituzione del comando $(...) in modo che venga eseguita.

Questi esempi di richieste ricevono dettagli sull'organizzazione "ahamilton-eval". Per un elenco completo degli endpoint API Edge, consulta la pagina Riferimento API Apigee Edge.

Utilizza get_token con SAML e LDAP

L'utilità get_token può essere utilizzata con SAML, LDAP o qualsiasi altro IdP sottostante. get_token supporta l'utilizzo di più URL di accesso SSO e di più account. A un singolo utente con più account verrà richiesto di specificare il nome utente per ogni chiamata get_token.

Svuotare la cache get_token

Puoi utilizzare i seguenti flag facoltativi per svuotare la cache di get_token:

  • --clear-sso-cache

    Cancella la directory della cache per SSO_LOGIN_URL in $HOME/.sso-cli, ignorando eventuali token di accesso memorizzati nella cache e aggiornati per il server.

  • --clear-all-sso-cache

    Cancella tutte le directory in $HOME/.sso-cli ignorando tutti i token memorizzati nella cache.


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