Uso del metodo get_token

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

L'utilità get_token(1) consente di scambiare le credenziali Apigee con un token di accesso e un token di aggiornamento che puoi utilizzare per accedere alle API Edge. 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.
  • Stampare i token su stdout per utilizzarli in variabili e comandi.
  • Memorizzare i token sul disco.

Puoi quindi aggiungere un token valido alle richieste all'API Edge e ottenere un nuovo token alla scadenza di quello attuale.

Prerequisito: prima di poter utilizzare get_token, devi installarlo.

Sintassi di get_token

L'utilità get_token utilizza la seguente sintassi:

get_token -u USERNAME:PASSWORD [-m MFACODE]

o

get_token -p passcode

Dove:

Elemento Obbligatorio? Descrizione
USERNAME Facoltativo. È richiesta una combinazione di nome utente e password o un passcode. Il tuo nome utente Apigee, che in genere è l'indirizzo email associato al tuo account Apigee. Devi passare il nome utente o un passcode la prima volta che chiami get_token. Non dovrai inserire di nuovo l'indirizzo email finché non scadono i token di accesso e di aggiornamento. Se memorizzi nella cache i token per più utenti, devi specificare il 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 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 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à richiesto 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:

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

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

Dopo la prima chiamata riuscita a get_token, non devi includere le credenziali finché i token non sono scaduti.

Chiamare get_token per la prima volta

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

  • Un passcode, se esegui l'autenticazione con un provider di identità (IDP) SAML.
  • Il tuo nome utente, la password e un codice MFA temporaneo, altrimenti.

Il seguente esempio chiama get_token per la prima volta e utilizza una combinazione di 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 diversi modi. Puoi:

  • Copia il contenuto della risposta get_token e inseriscilo direttamente nella tua 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 dei comandi $(...) 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 dei comandi $(...) in modo che venga eseguita.

Queste richieste di esempio recuperano i dettagli dell'organizzazione "ahamilton-eval". Per un elenco completo degli endpoint dell'API Edge, consulta il riferimento dell'API Apigee Edge.

Utilizzare 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 più account. A un singolo utente con più account verrà chiesto di specificare il nome utente per ogni get_token chiamata.

Svuotare la cache di get_token

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

  • --clear-sso-cache

    Svuota la directory della cache per SSO_LOGIN_URL in $HOME/.sso-cli eliminando tutti i token di accesso e di aggiornamento memorizzati nella cache per il server.

  • --clear-all-sso-cache

    Svuota tutte le directory in $HOME/.sso-cli, eliminando tutti i token memorizzati nella cache.


(1) Copyright 2023 Google LLC
Lo strumento get_token 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.