Authentifizierungstoken erstellen

Die Daten-und Metadatenservice-APIs verwenden ein JSON Web Token (JWT) für die Authentifizierung und Berechtigung. Wenn Sie eine API über den HTTP -Berechtigungsanforderungsheader aufrufen, müssen Sie ein nicht abgelaufenes Token angeben, das den richtigen Geltungsbereich hat und von einem genehmigten JSON Web Key (JWK) signiert wird.

Vorbereitende Schritte

  1. Suchen Sie das Konto, die Organisation und die Kunden-IDs.
    1. Melden Sie sich bei Intelligence Suitean.

    2. Wählen Sie die Organisation und das Konto aus, die Sie verwenden.

    3. Öffnen Sie die Informationsseite.

      Eine Liste der Konto-, Organisations-und Client-IDs, die Sie für einen Zugriff auf die API-Services benötigen, wird angezeigt.

      Anmerkung: Der Client-ID wird der Servicename vorangestellt.

      Im folgenden Beispiel für eine Client-ID ist saascore ein Service, d. h., die ID hat das Präfix saascore.

      saascore-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    4. Notieren Sie sich alle IDs.
  2. Rufen Sie einen API-Schlüssel ab.
    Hinweis: Sie können einen API-Schlüssel mit oder ohne IBM Cloud® -Konto abrufen, aber die Verwendung eines IBM Cloud -Kontos ist die bevorzugte Methode.
    Option Beschreibung
    Wenn Sie über ein IBM Cloud -Konto verfügen Sie müssen den API-Schlüssel nur einmal generieren, um das IAM-Token (Identity and Access Management) zu generieren, und dieser Schlüssel läuft nach seiner Erstellung nicht ab.
    1. Melden Sie sich bei IBM Cloud an.
    2. Wählen Sie in der Menüleiste Verwalten > Zugriff (IAM)aus.
    3. Klicken Sie im seitlichen Navigationsmenü im Abschnitt Identitäten verwalten auf API-Schlüssel.
    4. Klicken Sie auf Erstellen und fügen Sie einen Namen und eine Beschreibung hinzu, um den IBM Cloud -API-Schlüssel zu erstellen.
    5. Klicken Sie auf Erstellen.
    6. Kopieren Sie den API-Schlüssel oder klicken Sie auf Herunterladen , um ihn zu speichern.
    Wenn Sie kein IBM Cloud -Konto haben Wenden Sie sich an IBM® , um einen API-Schlüssel zu erhalten, der keinIBM Cloud -Schlüssel ist, und fahren Sie dann mit der Prozedur fort.

Vorgehensweise

  1. Token generieren:
    Option Beschreibung
    Wenn Sie über ein IBM Cloud -Konto verfügen
    1. Um ein IAM-Token zu erstellen, senden Sie die POST-API-Anforderung wie im folgenden cURL -Beispiel gezeigt:
      Stellen Sie sicher, dass Sie <<YOUR_IAM_APIKEY>> durch Ihren Schlüssel in der Anforderung ersetzen.
      curl --location --request POST 'https://iam.cloud.ibm.com/identity/token' \
      --data-urlencode 'grant_type=urn:ibm:params:oauth:grant-type:apikey' \
      --data-urlencode 'apikey=<<YOUR_IAM_APIKEY>>'
      

      Diese Anforderung gibt ein IAM-Token zurück. Notieren Sie sich das IAM-Token.

    2. Generieren Sie ein JWT-Token.

      Im folgenden cURL -Beispiel wird das IAM-Token verwendet, um ein JWT-Token für den Zugriff auf den saascore -Service zu generieren.

      Ersetzen Sie <<YOUR_ORGID>>,<<CLIENT_ID>>, und <<YOUR_IAM_TOKEN>> durch Ihre Organisations-ID, Client-ID und das IAM-Token in der Anforderung.
      curl --location --request GET 'https://api.ibm.com/saascore/run/authentication-retrieve?orgId=<<YOUR_ORGID>>\
      --header 'X-IBM-Client-Id: saascore-<<CLIENT_ID>>' \
      --header 'Authorization: Bearer <<YOUR_IAM_TOKEN>>'
      

      Das Ergebnis dieses Aufrufs ist ein JWT-Token. Speichern Sie das JWT-Token für nachfolgende API-Aufrufe. JWT-Token laufen in der Regel nach etwa 60 Minuten ab, nach denen Sie ein neues Token abrufen müssen.

    Wenn Sie kein IBM Cloud -Konto haben

    Senden Sie eine GET-Anforderung, wie im folgenden cURL -Beispiel gezeigt.

    Stellen Sie sicher, dass Sie <tenantId>>,<<apiKey>>, und <<orgId>> in der Anforderung durch Ihre Tenant-ID, einen Nicht-IBM Cloud -API-Schlüssel und eine Organisations-ID ersetzen.
    curl --location --request GET \
    --header 'X-IBM-Client-Id: saascore-${tenantId}' \
    --header 'X-API-Key: ${apiKey}' \
    "https://api.ibm.com/saascore/run/authentication-retrieve/api-key?orgId=${orgId}"
  2. Authentifizieren Sie Ihren Account.

    Im folgenden cURL -Beispiel wird das JWT-Token zur Authentifizierung Ihres Kontos verwendet.

    curl --location --request <GET/POST> '<INSERT_API_ENDPOINT_HERE>' \
     --header 'x-ibm-client-Id: <service-prefix>-<INSERT_YOUR_CLIENT_ID_HERE>' \
     --header 'Accept: application/json' \
     --header 'Authorization: Bearer <INSERT_YOUR_JWT_HERE> \