Utiliser cURL

cURL est un outil de ligne de commande open source permettant de transférer des données avec une syntaxe d'URL, prenant en charge divers protocoles, notamment HTTP et HTTPS. Les exemples de ce document utilisent cURL pour montrer comment accéder à l'API REST des domaines d'identité.

Utiliser cURL pour accéder aux API REST

  1. Installez cURL. Reportez-vous à Etape 2 : installation de cURL.

  2. Dans une fenêtre de commande, définissez la variable d'environnement cURL, CURL_CA_BUNDLE, sur l'emplacement de votre package de certificats d'autorité de certification local. Pour plus d'informations sur la vérification de certificat d'autorité de certification à l'aide de cURL, reportez-vous à : http://curl.haxx.se/docs/sslcerts.html.

    Remarque

    Pour plus d'informations sur les exigences d'autorisation et d'authentification, reportez-vous à Autorisation.

  3. Appelez cURL et indiquez les options de ligne de commande suivantes, si nécessaire, pour diriger son exécution.

    • -d, --data @file.json : identifie le document de demande, au format JSON, sur l'ordinateur local.
    • -F, --form @file.json : identifie les données de formulaire au format JSON sur l'ordinateur local.
    • -H, --header : définit l'en-tête de demande au format HEADER : VALUE. Les valeurs d'en-tête dépendent de l'adresse à laquelle vous accédez.
      • Type de contenu du document de demande.

      • X-Client-ID, API_KEY_ID, pour l'autorisation OAuth 2.0

      • X-Client-Secret, API_KEY_SECRET, pour l'autorisation OAuth2.0

    • -i : affiche les informations d'en-tête de réponse.
    • -X : indique la méthode de demande HTTP (DELETE, GET, POST, PATCH ou PUT). Si cette option est omise, la valeur par défaut est GET.

URL de la commande cURL

L'URL utilisée avec la commande cURL est la même que celle décrite dans Envoyer des demandes, sauf que vous devez remplacer les espaces dans l'URL par des caractères plus (+) et remplacer les guillemets (") par %22.

Tous les caractères d'une URL qui se trouvent en dehors du jeu de caractères ASCII, tels que les espaces et les guillemets, doivent être encodés en URL. Par exemple, l'URL suivante contient une requête de filtre qui recherche un utilisateur avec un nom utilisateur contenant jen ou commençant par bj. Notez qu'il contient des espaces.

https://<domainURL>/admin/v1/Users?filter=userName co "jen" or userName sw "bj"

Pour utiliser cette URL dans une ligne de commande cURL, vous devez la remplacer par :

https://<domainURL>/admin/v1/Users?filter=userName+co+%22jen%22+or+userName+sw+%22bj%22

Commande cURL pour l'envoi d'une demande GET

curl 
-H "Accept: application/scim+json" 
-H "Authorization: Bearer <really long access token here>" 
-G https://<domainURL>/admin/v1/Groups?filter=displayName+co+%22admin%22"

Commande cURL pour l'envoi d'une demande POST

curl 
-H "Content-Type: application/scim+json" 
-H "Authorization: Bearer <really long access token here>" 
-d '{ "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],"userName":"bjensen@example.com","name": {"familyName":"Jensen","givenName": "Barbara","middleName": "Jane"},"emails": [{"value": "bjensen@example.com","type": "work","primary": true}]}' "https://<domainURL>/admin/v1/Users"