IBM Cloud Docs
Extraction des jetons d'accès IAM

Extraction des jetons d'accès IAM

Pour utiliser l'API Activity Tracking, vous devez utiliser un jeton d'accès IBM Cloud® Identity and Access Management (IAM). Chaque jeton n'est valide que pendant une heure, et après l'expiration d'un jeton, vous devez en demander un nouveau si vous souhaitez continuer à utiliser l'API.

Récupération d'un jeton d'accès pour la session en cours à l'aide de l'interface de ligne de commande IBM Cloud

Vous pouvez utiliser l'interface de ligne de commande IBM Cloud pour générer votre jeton d'accès IAM.

Pour générer un jeton d'accès pour la session en cours, procédez comme suit :

  1. Connectez-vous à IBM Cloud à l'aide de l'interface de ligne de commande d'IBM Cloud.

    ibmcloud login
    

    Si la connexion échoue, exécutez la commande ibmcloud login --sso pour réessayer. Le paramètre --sso est requis lorsque vous vous connectez avec un ID fédéré. Si cette option est utilisée, allez sur le lien répertorié dans la sortie d'interface de ligne de commande pour générer un code d'accès unique.

  2. Exécutez la commande suivante pour extraire votre jeton d'accès Cloud IAM.

    ibmcloud iam oauth-tokens | grep IAM | cut -d \: -f 2 | sed 's/^ *//'
    

    L'exemple partiel suivant montre un jeton IAM extrait.

    IAM token:  Bearer eyJraWQiOiIyM...
    

Récupération d'un jeton d'accès à l'aide d'une clé d'API et de l'interface de ligne de commande IBM Cloud

Vous pouvez également extraire votre jeton d'accès à l'aide d'un programme en créant une clé d'API d'ID de service pour votre application, puis en échangant votre clé d'API pour un jeton IAM IBM Cloud.

  1. Connectez-vous à IBM Cloud à l'aide de l'interface de ligne de commande d'IBM Cloud.

    ibmcloud login -a cloud.ibm.com [--apikey KEY | @KEY_FILE]
    

    KEY | @KEY_FILE correspond à la clé d'API que vous souhaitez utiliser pour obtenir le jeton d'accès.

  2. Exécutez la commande suivante pour obtenir un jeton d'accès IAM.

    ibmcloud iam oauth-tokens | grep IAM | cut -d \: -f 2 | sed 's/^ *//'
    

    L'exemple partiel suivant montre un jeton IAM extrait.

    IAM token:  Bearer eyJraWQiOiIyM...
    

Récupération d'un jeton d'accès à l'aide d'une clé d'API dans une requête cURL

Exécutez la commande cURL suivante pour appeler l'API IAM Identity Services pour extraire votre jeton d'accès :

curl -X POST \
    'https://iam.cloud.ibm.com/identity/token' \
    -H 'content-type: application/x-www-form-urlencoded' \
    -H 'accept: application/json' \
    -d 'grant_type=urn%3Aibm%3Aparams%3Aoauth%3Agrant-type%3Aapikey&apikey=<API_KEY>' > token.json

Remplacez <API_KEY> par votre clé d'interface de programmation.

L'exemple partiel suivant montre le contenu du fichier token.json :

{
    "access_token": "b3VyIGZhdGhlc...",
    "expiration": 1512161390,
    "expires_in": 3600,
    "refresh_token": "dGhpcyBjb250a...",
    "token_type": "Bearer"
}

Utilisez la valeur access_token complète, préfixée par le type de jeton bearer.