Utiliser get_token

Vous consultez la documentation Apigee Edge.
Accédez à la documentation Apigee X.
info

L'utilitaire get_token(1) vous permet d'échanger vos identifiants Apigee contre un jeton d'accès et un jeton d'actualisation que vous pouvez utiliser pour accéder aux API Edge. Les jetons peuvent également être utilisés avec les implémentations SAML et LDAP des workflows OAuth2.

get_token vous permet d'effectuer les opérations suivantes :

  • Obtenir un jeton d'accès ou d'actualisation.
  • Imprimer des jetons dans stdout pour les utiliser dans des variables et des commandes.
  • Stocker des jetons sur votre disque.

Vous pouvez ensuite ajouter un jeton valide à vos requêtes adressées à l'API Edge et obtenir un nouveau jeton lorsque le vôtre expire.

Prérequis : Vous devez l'installer avant de pouvoir utiliser get_token.

Syntaxe get_token

L'utilitaire get_token utilise la syntaxe suivante :

get_token -u USERNAME:PASSWORD [-m MFACODE]

ou

get_token -p passcode

Où :

Élément Obligatoire ? Description
USERNAME Facultatif. Une combinaison nom d'utilisateur/mot de passe ou un code secret est obligatoire. Votre nom d'utilisateur Apigee, qui correspond généralement à l'adresse e-mail associée à votre compte Apigee. Vous devez transmettre votre nom d'utilisateur ou un code secret la première fois que vous appelez get_token. Vous n'aurez plus besoin de transmettre votre adresse e-mail tant que les jetons d'accès et d'actualisation n'auront pas expiré. Si vous mettez en cache des jetons pour plusieurs utilisateurs, vous devez spécifier votre nom d'utilisateur dans chaque appel.
PASSWORD Facultatif. Une combinaison nom d'utilisateur/mot de passe ou un code secret est obligatoire. Le mot de passe de votre compte Apigee. Si vous omettez le mot de passe, vous serez invité à le saisir la première fois que vous utiliserez get_token et lors de tout appel ultérieur sans jeton d'actualisation valide. Si vous ne souhaitez pas utiliser votre mot de passe directement dans la commande, vous pouvez utiliser un code secret à usage unique à la place.
MFACODE Facultatif Code d'authentification multifacteur (MFA) temporaire à six chiffres. Ce code est obligatoire si vous utilisez -u et que la MFA est activée. Vous serez invité à le saisir si vous l'omettez (sauf en mode code secret). Si la MFA n'est pas activée, ou si vous disposez d'un flux scripté, vous pouvez spécifier -m "" pour éviter les invites.
PASSCODE Facultatif. Une combinaison nom d'utilisateur/mot de passe ou un code secret est obligatoire. Code secret à usage unique que vous pouvez utiliser à la place d'un mot de passe. Un code secret est obligatoire lors de l'authentification auprès d'un IdP SAML et peut être utilisé pour l'authentification auprès d'un IdP LDAP.

Exemple :

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

Un appel réussi imprime un jeton d'accès valide dans stdout et stocke les jetons d'accès et d'actualisation dans ~/.sso-cli. Vous pouvez utiliser ces jetons jusqu'à leur expiration, comme décrit dans Expiration des jetons.

Après votre premier appel réussi à get_token, vous n'avez plus besoin d'inclure vos identifiants tant que les jetons n'ont pas expiré.

Appeler get_token pour la première fois

Si vous ne spécifiez aucune option lors de votre premier appel, get_token vous demandera les éléments suivants :

  • Un code secret, si vous vous authentifiez auprès d'un fournisseur d'identité (IdP) SAML.
  • Votre nom d'utilisateur, votre mot de passe et un code MFA temporaire dans le cas contraire.

L'exemple suivant appelle get_token pour la première fois et utilise une combinaison nom d'utilisateur/mot de passe avec un code MFA facultatif pour l'authentification :

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

Ajouter votre jeton d'accès à une requête

Une fois que vous avez appelé get_token, vous pouvez utiliser le jeton d'accès en le transmettant de différentes manières dans l'en-tête Authorization de vos appels à l'API Edge. Vous pouvez :

  • Copier le contenu de la réponse get_token et l'insérer directement dans votre en-tête :
    curl https://api.enterprise.apigee.com/v1/organizations/danger4242-eval \
      -H "Authorization: Bearer B42CnTIYPxr...88NI5Q"
  • Combiner des commandes pour obtenir le jeton et l'ajouter à l'en-tête :
    token=$(get_token); curl -H "Authorization: Bearer $token" \
      https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval

    Notez que get_token utilise la syntaxe de substitution de commande $(...) pour qu'elle soit exécutée.

  • Appeler get_token dans l'appel curl :
    curl -H "Authorization: Bearer $(get_token)" \
      https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval

    Notez que get_token utilise la syntaxe de substitution de commande $(...) pour qu'elle soit exécutée.

Ces exemples de requêtes permettent d'obtenir des informations sur l'organisation "ahamilton-eval". Pour obtenir la liste complète des points de terminaison de l'API Edge, consultez la documentation de référence de l'API Apigee Edge.

Utiliser get_token avec SAML et LDAP

L'utilitaire get_token peut être utilisé avec SAML, LDAP ou tout autre IdP sous-jacent. get_token est compatible avec l'utilisation de plusieurs URL de connexion SSO et de plusieurs comptes. Un même utilisateur disposant de plusieurs comptes sera invité à spécifier le nom d'utilisateur pour chaque get_token appel.

Vider le cache get_token

Vous pouvez utiliser les indicateurs facultatifs suivants pour vider le cache get_token :

  • --clear-sso-cache

    Efface le répertoire de cache pour SSO_LOGIN_URL sous $HOME/.sso-cli en supprimant tous les jetons d'accès et d'actualisation mis en cache pour le serveur.

  • --clear-all-sso-cache

    Efface tous les répertoires sous $HOME/.sso-cli, en supprimant tous les jetons mis en cache.


(1) Copyright 2023 Google LLC
L'outil get_token est mis à disposition en tant que "Logiciel" en vertu du contrat régissant votre utilisation de Google Cloud Platform, y compris les Conditions spécifiques au service disponibles sur https://cloud.google.com/terms/service-terms.