Utiliser get_token

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

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

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

  • Obtenez un jeton d'accès ou d'actualisation.
  • Imprimez des jetons vers stdout pour les utiliser dans les variables et les commandes.
  • Stockez des jetons sur votre disque.

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

Condition préalable:Pour pouvoir utiliser get_token, vous devez l'installer.

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 sont requis. Votre nom d'utilisateur Apigee, qui correspond généralement à l'adresse e-mail associée à votre compte Apigee. Vous devez communiquer votre nom d'utilisateur ou un code secret la première fois que vous appelez get_token. Vous n'aurez pas besoin de transmettre à nouveau 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 sont requis. 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 tous les appels suivants 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 au lieu du mot de passe.
MFACODE Optional Code temporaire d'authentification multifacteur (MFA) à six chiffres. Ce code est obligatoire si vous utilisez -u et que la MFA est activée. En cas d'omission, un message s'affichera (sauf en mode Code secret). Si la MFA n'est pas activée ou si vous disposez d'un flux à l'aide de l'éditeur de script, vous pouvez spécifier -m "" pour éviter les invites.
PASSCODE Facultatif. Une combinaison nom d'utilisateur/mot de passe ou un code secret sont requis. Un code secret à usage unique que vous pouvez utiliser à la place d'un mot de passe. Un code secret est requis pour l'authentification auprès d'un IdP SAML. Il 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 la section Expiration des jetons.

Après votre premier appel réussi à get_token, vous n'avez pas 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 dans votre premier appel, get_token vous demandera les informations suivantes:

  • Un code secret, en cas d'authentification auprès d'un fournisseur d'identité (IdP) SAML
  • Votre nom d'utilisateur, votre mot de passe et un code MFA temporaire, si ce n'est pas le cas.

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

Après avoir appelé get_token, vous pouvez utiliser le jeton d'accès en le transmettant dans l'en-tête Authorization de vos appels à l'API Edge de plusieurs manières. Vous avez plusieurs possibilités :

  • Copiez le contenu de la réponse get_token et insérez-le directement dans votre en-tête :
    curl https://api.enterprise.apigee.com/v1/organizations/danger4242-eval \
      -H "Authorization: Bearer B42CnTIYPxr...88NI5Q"
  • Combinez 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 être exécutée.

  • Appelez 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 être exécutée.

Ces échantillons 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 plusieurs URL de connexion SSO et plusieurs comptes. Un même utilisateur disposant de plusieurs comptes sera invité à spécifier le nom d'utilisateur pour chaque appel get_token.

Vider le cache get_token

Vous pouvez utiliser les options facultatives suivantes pour vider le cache get_token:

  • --clear-sso-cache

    Efface le répertoire de cache de 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 disponible en tant que "Logiciel" dans le cadre du contrat régissant votre utilisation de Google Cloud Platform, y compris les Conditions d'utilisation spécifiques du service disponibles à l'adresse https://cloud.google.com/terms/service-terms.