Utiliser acurl

<ph type="x-smartling-placeholder"></ph> Vous consultez la documentation Apigee Edge.
Accédez à la documentation sur Apigee X.
info

L'utilitaire acurl(1) fournit un wrapper pratique pour un curl standard. . acurl :

  • Échange vos identifiants Apigee contre un jeton d'accès OAuth2.
  • Détecte l'expiration d'un jeton d'accès et utilise le jeton d'actualisation pour en obtenir un nouveau.
  • Transmet ce jeton dans l'en-tête Authorization de la requête API.

Vous utilisez des jetons d'accès pour appeler les points de terminaison de l'API Edge avec OAuth2, y compris les workflows LDAP et SAML.

Si vous utilisez OAuth2 pour accéder à l'API Edge, mais pas acurl, vous devez obtenir un jeton d'accès et l'ajouter vous-même à l'en-tête de la requête API. L'une des façons d'obtenir via l'utilitaire get_token.

Installer acurl

Avant de pouvoir utiliser acurl, vous devez l'installer.

syntaxe acurl

L'utilitaire acurl utilise la syntaxe suivante:

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

ou

acurl API_URL -p PASSCODE

Où :

Option Obligatoire ? Description
API_URL Obligatoire Le point de terminaison de l'API Apigee Edge Pour obtenir la liste complète des points de terminaison, consultez la documentation de référence de l'API Apigee Edge.
USERNAME Facultatif. Veuillez saisir un nom d'utilisateur et un mot de passe, ou un code secret. Votre nom d'utilisateur Apigee, qui est 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 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. Veuillez saisir un nom d'utilisateur et un mot de passe, ou un code secret. 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 acurl et lors des 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 un code secret à usage unique au lieu de votre mot de passe.
MFACODE Optional Code temporaire à six chiffres pour l'authentification multifacteur (MFA). Ce code est obligatoire si vous utilisez -u et que l'authentification multifacteur est activée. Un message vous en informe en cas d'omission (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. Un nom d'utilisateur et un 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 lors de l'authentification avec un fournisseur d'identité SAML et peut être utilisé pour s'authentifier avec un fournisseur d'identité LDAP.

Exemple :

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

En plus des options présentées ci-dessus, acurl accepte tous les curl options. Par exemple, vous pouvez transmettre des en-têtes, spécifier le verbe HTTP, ajouter un corps et activer Niveau de détail à l'aide des options curl standards:

Option acurl meaning curl meaning
-u username username
-m MFA code max time (doit utiliser le format long --max-time)
-p passcode proxy tunnel (doit utiliser le format long --proxytunnel)
-v verbose verbose
-h help help (doit utiliser la version longue --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}'

Un appel acurl réussi renvoie les résultats en fonction du point de terminaison de l'API Edge que vous appelé. De plus, acurl stocke les jetons d'accès et d'actualisation. dans ~/.sso-cli.

Vous pouvez continuer à passer des appels sans saisir d'identifiants (mot de passe et MFA facultatif, ou code secret) jusqu'à l'expiration du jeton d'accès et du jeton de rafraîchissement, comme décrit dans la section Expiration des jetons.

Migrer depuis curl

Si vous utilisez curl, la migration vers l'utilitaire acurl est simple et élimine le besoin d'encoder manuellement les identifiants. Après avoir téléchargé et installé l'utilitaire, vous pouvez remplacer:

curl -u username
avec :
acurl -u username

L'utilitaire acurl encode votre identifiants et vous demander occasionnellement les identifiants supplémentaires requis pour obtenir de nouvelles paires de jetons.

L'utilitaire acurl peut également servir à remplacer curl pour les utilisateurs machine. Pour en savoir plus, consultez les pages OAuth2 pour les utilisateurs de machines et Utilisateurs de machines dans les zones SAML.

Appeler acurl pour la première fois

La première fois que vous appelez l'API avec acurl, vous fournissez vos identifiants Apigee (le nom d'utilisateur et le mot de passe de votre compte Apigee, ou un code d'accès) afin que acurl puisse les échanger contre un jeton d'accès et un jeton d'actualisation.

L'exemple suivant montre un appel initial avec acurl pour obtenir des informations sur une organisation à l'aide du point de terminaison Get organization (Obtenir une organisation) :

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'utilitaire acurl obtient un jeton d'accès et l'insère dans l'appel au point de terminaison de l'API Edge :

curl -H "Authorization: Bearer oauth2_access_token" ...

Le jeton d'accès est stocké localement dans ~/.sso-cli et utilisé pour les appels suivants.

Une fois le jeton d'accès expiré, acurl utilise automatiquement le jeton d'actualisation pour obtenir un nouveau jeton d'accès. Lorsque le jeton d'actualisation expire, acurl vous y invite pour vos identifiants Apigee.

Cette requête permet 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.


(1) Copyright 2023 Google LLC
L'outil acurl est disponible en tant que "Logiciel" dans le cadre 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.