À propos d'acurl et de get_token

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

Apigee fournit les utilitaires pratiques 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 SAML et les workflows LDAP) :

  • acurl(1) : fournit un wrapper pratique autour d'une commande curl standard. Construit des requêtes HTTP à l'API Edge , obtient des jetons d'accès et d'actualisation à partir 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 machine 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 le texte d'aide des 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. Après l'expiration, vous devez 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.

Dans le 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 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 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 qui contient les jetons et d'autres métadonnées.

Pour afficher les jetons, vous pouvez utiliser une commande semblable à la suivante :

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 "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.