IAM-Zugriffstokens abrufen

Für die Verwendung der Activity Tracking-API müssen Sie ein Zugriffstoken IBM Cloud® Identity and Access Management (IAM) verwenden. Jedes Token ist nur für eine Stunde gültig, und nachdem ein Token abläuft, müssen Sie eine neue Anforderung anfordern, wenn Sie die Verwendung der API fortsetzen möchten.

Abrufen eines Zugriffstokens für die aktuelle Sitzung mithilfe der IBM Cloud CLI

Sie können die IBM Cloud CLI verwenden, um Ihr IAM-Zugriffstoken zu generieren.

Führen Sie die folgenden Schritte aus, um ein Zugriffstoken für die aktuelle Sitzung zu generieren:

  1. Melden Sie sich bei IBM Cloud über die IBM Cloud CLI an.

    ibmcloud login
    

    Wenn die Anmeldung fehlschlägt, führen Sie den Befehl ibmcloud login --sso aus, um es erneut zu versuchen. Der Parameter --sso ist erforderlich, wenn Sie sich mit einer föderierten ID anmelden. Wenn diese Option verwendet wird, rufen Sie den Link auf, der in der Ausgabe der Befehlszeilenschnittstelle aufgelistet ist, um einen einmalig verwendbaren Kenncode zu generieren.

  2. Führen Sie den folgenden Befehl aus, um Ihr Cloud IAM-Zugriffstoken abzurufen.

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

    Im folgenden gekürzten Beispiel sehen Sie ein abgerufenes IAM-Token.

    IAM token:  Bearer eyJraWQiOiIyM...
    

Abrufen eines Zugriffstokens mithilfe eines API-Schlüssels und der IBM Cloud CLI

Sie können Ihr Zugriffstoken auch über das Programm abrufen, indem Sie für Ihre Anwendung eine Service-ID-API-Taste erstellen und dann Ihren API-Schlüssel für ein IBM CloudIAM-Token austauschen.

  1. Melden Sie sich bei IBM Cloud über die IBM Cloud CLI an.

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

    Dabei ist KEY | @KEY_FILE der API-Schlüssel, den Sie zum Abrufen des Zugriffstokens verwenden möchten.

  2. Führen Sie den folgenden Befehl aus, um ein IAM-Zugriffstoken abzurufen.

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

    Im folgenden gekürzten Beispiel sehen Sie ein abgerufenes IAM-Token.

    IAM token:  Bearer eyJraWQiOiIyM...
    

Abrufen eines Zugriffstokens mithilfe eines API-Schlüssels in einer cURL-Anforderung

Führen Sie den folgenden cURL-Befehl aus, um die IAM Identity Services-API aufzurufen, um Ihr Zugriffstoken abzurufen:

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

Ersetzen Sie <API_KEY> durch Ihren API-Schlüssel.

Im folgenden gekürzten Beispiel wird der Inhalt der Datei token.json dargestellt:

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

Verwenden Sie den vollständigen Wert access_token mit dem Tokentyp Bearer als Präfix.