À propos d'acurl et de get_token

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

Apigee fournit les utilitaires suivants pour générer et transmettre des jetons d'accès et d'actualisation OAuth2. Vous utilisez ces jetons pour vous authentifier dans vos appels d'API Edge avec OAuth (y compris les workflows SAML et LDAP):

  • acurl(1): fournit un wrapper pratique pour une commande curl standard. Construit des requêtes HTTP vers l'API Edge, obtient des jetons d'accès et d'actualisation de get_token et transmet le jeton d'accès à l'API Edge.
  • get_token(1): échange vos identifiants Apigee contre des jetons d'accès et d'actualisation que vous pouvez utiliser pour appeler l'API Edge.

Ces deux utilitaires échangent vos identifiants de compte Apigee (nom d'utilisateur et mot de passe ou code secret) contre des jetons OAuth2.

Les jetons créés par les utilitaires Apigee sont conformes à la spécification du framework d'autorisation OAuth 2.0.

L'utilisation des utilitaires Apigee pour obtenir des jetons ou accéder au serveur d'authentification pour les API Edge est facultative. Vous pouvez implémenter vos propres schémas pour générer des jetons d'accès OAuth2 et les envoyer dans vos requêtes à l'API Edge.

Installer acurl et get_token

Apigee fournit un fichier ZIP contenant acurl(1), get_token(1) et un script d'installation.

Pour installer acurl et get_token:

  1. Créez un répertoire d'installation sur votre ordinateur ou utilisez le répertoire usr/local/bin par défaut.
  2. Téléchargez le fichier ZIP d'installation depuis Apigee :
    curl https://login.apigee.com/resources/scripts/sso-cli/ssocli-bundle.zip -O
  3. Décompressez le fichier téléchargé.
  4. Exécutez le script d'installation :
    sudo ./install -b /usr/local/bin

    L'option -b spécifie l'emplacement des fichiers exécutables. Si vous ne spécifiez pas cette option, le script d'installation installe les utilitaires dans /usr/local/bin.

  5. Testez les installations :
        acurl -h
        get_token -h

    Si l'installation réussit, ces commandes renvoient un texte d'aide pour les utilitaires.

Expiration des jetons

acurl et get_token génèrent des jetons avec les durées suivantes:

  • Les jetons d'accès expirent au bout de 12 heures.
  • Les jetons d'actualisation expirent au bout de 30 jours.

Par conséquent, une fois que vous avez effectué un appel d'API avec acurl ou get_token, vous pouvez continuer à utiliser la paire de jetons pendant 30 jours. Passé ce délai, vous devrez saisir à nouveau vos identifiants et obtenir de nouveaux jetons.

Définir le point de terminaison SSO

Avant d'effectuer votre premier appel, vous devez définir le point de terminaison du serveur d'autorisation pour l'API Edge que vous souhaitez utiliser avec acurl et get_token.

À partir du terminal, définissez la variable d'environnement SSO_LOGIN_URL sur le point de terminaison de votre serveur d'autorisation. Exemple :

  • Pour les clients Cloud sans zone :
    export SSO_LOGIN_URL=https://login.apigee.com
  • Pour les clients Cloud avec une zone :
    export SSO_LOGIN_URL=https://zone_name.login.apigee.com
  • Pour les clients Private Cloud, contactez votre administrateur pour obtenir le point de terminaison SSO approprié.

Utiliser un code secret à usage unique (obligatoire pour SAML)

Lorsque vous effectuez un appel d'API avec acurl ou get_token, vous devez vous authentifier auprès de l'utilitaire pour recevoir une paire de jetons. Pour ce faire, transmettez le nom d'utilisateur, le mot de passe et un code MFA de votre compte Apigee. Toutefois, si vous utilisez un IdP SAML ou si vous ne souhaitez pas utiliser votre mot de passe, vous pouvez obtenir un code secret à usage unique à la place.

Pour obtenir un code secret à usage unique:

  1. Saisissez l'URL suivante dans un navigateur :
    • Pour les clients Cloud sans zone :
      https://login.apigee.com/passcode
    • Pour les clients Cloud avec une zone :
      https://zone_name.login.apigee.com/passcode
    • Pour les clients Private Cloud, contactez votre administrateur pour obtenir le point de terminaison SSO approprié.
  2. Connectez-vous à votre compte Apigee.
  3. Copiez le code secret à six caractères.
  4. Utilisez acurl ou get_token avec l'option -p et transmettez le code secret, comme dans l'exemple suivant :
    get_token -p 1a2b3c

Afficher vos jetons

Lorsque vous exécutez acurl ou get_token, les utilitaires créent un fichier de données dans ~/.sso-cli contenant les jetons et d'autres métadonnées.

Pour afficher les jetons, vous pouvez utiliser une commande semblable à celle-ci:

get_token -v

Cette commande affiche les revendications de jeton décodées, par exemple:

Decoded token claims:
 {
  "jti": "8018507e-9f34-4a90-bf97-ff226a06b19b",
  "sub": "858217a9-01a1-4111-8525-75ca555f5d5c",
  "scope": [
    "scim.emails.read",
    "scim.me",
    "openid",
    "password.write",
    "approvals.me",
    "scim.ids.read",
    "oauth.approvals"
          ],
  "client_id": "edgecli",
  "cid": "edgecli",
  "azp": "edgecli",
  "grant_type": "password",
  "user_id": "858217a9-01a1-4111-8525-75ca555f5d5c",
  "origin": "usergrid",
  "user_name": "myusername@google.com",
  "email": "myusername@google.com",
  "auth_time": 1597444772,
  "al": 0,
  "rev_sig": "6271c527",
  "iat": 1597444772,
  "exp": 1597487972,
  "iss": "https://login.apigee.com",
  "zid": "uaa",
  "aud": [
    "edgecli",
    "scim.emails",
    "scim",
    "openid",
    "password",
    "approvals",
    "scim.ids",
    "oauth"
        ]
    }
Current timestamp: 1597444983
Existing access token is still valid

(1) Copyright 2023 Google LLC
Les outils acurl et get_token sont mis à disposition en tant que "Logiciels" dans le cadre du contrat régissant votre utilisation de Google Cloud Platform, y compris les Conditions d'utilisation spécifiques aux services disponibles à l'adresse https://cloud.google.com/terms/service-terms.