Domaines d'identité OCI avec Postman

Dans ce tutoriel, vous allez effectuer des appels d'API (interface de programmation d'application) REST vers un domaine d'identité à l'aide de Postman, un logiciel généralement utilisé pour les tests d'API REST.

Les API REST de domaines d'identité permettent d'intégrer des domaines d'identité avec des clients REST pour gérer les utilisateurs, les groupes, les applications et les paramètres, et d'effectuer l'accès avec connexion unique (SSO) fédéré et l'autorisation dans le cloud. Les API prennent en charge OAuth 2.0, OpenID Connect et le système de gestion des identités interdomaines (SCIM).

Dans ce tutoriel, vous effectuez les opérations suivantes :

  • Inscription d'une application client OAuth
  • Définir les paramètres d'environnement dans Postman
  • Importer les domaines d'identité Collection Postman
  • Demander un jeton d'accès OAuth
  • Créer un utilisateur
  • Obtenir un utilisateur
  • Supprimer un utilisateur

Ce tutoriel prend environ 20 minutes.

Remarque

Ce tutoriel est spécifique à OCI Identity and Access Management avec des domaines d'identité.

Avant de commencer

Pour effectuer ce tutoriel, vous devez disposer des éléments suivants :

  • Accès à un domaine d'identité avec le rôle d'administrateur de domaine d'identité. Assurez-vous que les valeurs suivantes sont disponibles :
    • Nom de location, nom de domaine d'identité et informations d'identification (nom utilisateur et mot de passe) à connecter à une location dans la console Oracle Cloud Infrastructure avec un domaine d'identité.
    • URL de domaine affichée sur la page de détails du domaine d'identité après la connexion. Par exemple, https://<idcs-letterandnumberstring>.identity.oraclecloud.com. Si vous avez besoin d'aide pour trouver l'URL du domaine, reportez-vous à Recherche d'une URL de domaine d'identité dans la documentation. L'URL de domaine d'identité est utilisée pour créer une demande REST.
  • Connaissance du style d'architecture REST
  • L'application de bureau Postman est installée.

1. Inscription d'une application client

Pour authentifier un appel d'API REST vers un domaine d'identité, enregistrez une application client OAuth dans le domaine d'identité.

Cette tâche est requise pour obtenir les informations d'identification (ID client et clé secrète client) utilisées pour l'authentification. Les informations d'identification sont équivalentes aux informations d'identification de service (ID et mot de passe) que le client utilise pour communiquer avec un domaine d'identité. Cette tâche vous aide également à déterminer les demandes autorisées via l'API REST.

  1. Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Identité, sélectionnez Domaines.
  2. Sélectionnez le nom du domaine d'identité dans lequel vous souhaitez travailler. Il est possible que vous deviez changer de compartiment pour trouver le domaine souhaité.
  3. Sur la page de détails du domaine, sélectionnez Applications intégrées.
  4. Sélectionnez Ajouter une application.
  5. Dans la boîte de dialogue Ajouter une application, sélectionnez Application confidentielle, puis Lancer le workflow.
  6. A l'étape Ajouter les détails de l'application du workflow, entrez un nom et une description d'application, puis sélectionnez Suivant.
  7. A l'étape Configurer OAuth, effectuez les actions suivantes :
    1. Dans la zone Configuration client, sélectionnez Configurer cette application comme client maintenant.

      La boîte se développe et affiche plus d'options.

    2. Sous Autorisation, sélectionnez uniquement Informations d'identification client comme type d'octroi autorisé.
    3. Faites défiler jusqu'à la fin de la boîte. Sélectionnez Ajouter un rôle d'application, puis Ajouter un rôle.
    4. Dans le panneau Ajouter des rôles d'application, sélectionnez Administrateur de domaine d'identité, puis Ajouter.
  8. A l'étape Configurer OAuth, sélectionnez Suivant, puis Terminer.

    Vous pouvez ignorer l'étape de configuration de stratégie dans ce tutoriel.

    Lorsque l'application est créée, son état initial est Inactif.

  9. Sur la page des détails d'application, sélectionnez Activer. Sélectionnez ensuite Activer l'application pour confirmer l'activation de cette application.
  10. Sur la page de détails de l'application, faites défiler la page jusqu'à Informations générales et suivez ces étapes pour copier l'ID client et les valeurs de clé secrète client.
    1. Mettez en surbrillance la valeur affichée en regard de ID client et copiez-la dans un fichier texte.
    2. Sous Clé secrète client, sélectionnez Afficher la clé secrète. Dans la boîte de dialogue qui apparaît, sélectionnez Copier, puis Fermer. La valeur est copiée vers le presse-papiers. Collez la valeur dans un fichier texte.
    3. Stockez les valeurs d'ID client et de clé secrète client que vous avez copiées en lieu sûr.

2. Définition des paramètres d'environnement dans Postman

Pour effectuer ce tutoriel dans Postman, importez les exemples de variable REST idcs-rest-clients et définissez les paramètres d'environnement.

  1. Ouvrez l'application de bureau Postman et connectez-vous en utilisant votre compte. Si vous disposez d'un espace de travail, sélectionnez Espace de travail et sélectionnez-le. Sinon, vous pouvez utiliser l'espace de travail par défaut.
  2. Dans l'espace de travail, sélectionnez Importer.
  3. Dans la boîte de dialogue Importer, collez l'URL des variables d'environnement GitHub suivantes dans le champ.
    https://github.com/oracle/idm-samples/raw/master/idcs-rest-clients/example_environment.json

    Postman commence l'importation dès que vous collez l'URL. Une fois l'importation terminée, sélectionnez Ignorer pour fermer la zone de message.

  4. Dans la barre latérale de gauche, sélectionnez Environnements. Cliquez ensuite avec le bouton droit de la souris sur Environnement d'exemple Oracle Identity Cloud Service avec variables et sélectionnez Dupliquer.
  5. Dans la liste des environnements, cliquez avec le bouton droit de la souris sur Exemple d'environnement Oracle Identity Cloud Service avec copie de variables qui apparaît sous l'environnement d'origine et sélectionnez Renommer. Dans le champ, saisissez Environment A for REST API Testing et appuyez sur Entrée.
  6. Pour mettre à jour les variables dans l'environnement renommé, entrez les valeurs suivantes dans les champs Valeur initiale et Valeur actuelle.
    • HOST : URL de domaine obtenue à partir de la page de détails du domaine d'identité après la connexion à la console Oracle Cloud Infrastructure. Par exemple, https://<idcs-letterandnumber123string>.identity.oraclecloud.com. Si vous avez besoin d'aide pour trouver l'URL du domaine, reportez-vous à Recherche d'une URL de domaine d'identité dans la documentation.
    • CLIENT_ID et CLIENT_SECRET : ID client et clé secrète client que vous avez copiés dans un fichier texte à partir de l'application sécurisée du domaine d'identité, comme décrit dans la tâche de tutoriel Inscription d'une application client.
    • USER_LOGIN et USER_PW : Votre nom d'utilisateur et votre mot de passe de connexion
      Variables d'environnement Postman modifiées

  7. Sélectionnez Save (Enregistrer).
  8. Dans la liste des environnements, cochez la case sur le nom Environment A for REST API Testing pour en faire l'environnement actif.

    L'environnement actif est affiché dans le sélecteur d'environnement dans l'angle supérieur droit du workbench.

3. Importer la collection Postman des domaines d'identité

Pour effectuer ce tutoriel dans Postman, importez la collection REST_API_for_Oracle_Identity_Cloud_Service, qui contient des exemples de demandes d'API pouvant être utilisées pour effectuer des appels.

  1. Dans l'espace de travail Postman, sélectionnez Importer.
  2. Dans la boîte de dialogue Importer, collez l'URL suivante dans le champ pour importer la collection Postman de l'API REST des domaines d'identité.
    https://github.com/oracle/idm-samples/raw/master/idcs-rest-clients/REST_API_for_Oracle_Identity_Cloud_Service.postman_collection.json

    Postman commence l'importation dès que vous collez l'URL de la collection. Une fois l'importation terminée, vous pouvez sélectionner Ignorer pour fermer la zone de message.

  3. Dans la barre latérale de gauche, sélectionnez Collections.
  4. Sélectionnez le nom REST_API_for_Oracle_Identity_Cloud_Service.

    Les demandes de la collection sont organisées en dossiers.


    La collection apparaît sous l'onglet Collections.

4. Demander un jeton d'accès

Pour effectuer des appels d'API vers un domaine d'identité, vous devez authentifier le client par rapport au domaine d'identité, puis obtenir un jeton d'accès OAuth.

Le jeton d'accès permet une session entre un client (dans ce tutoriel, Postman) et le domaine d'identité.

Remarque

Par défaut, le délai d'expiration d'un jeton d'accès est de 60 minutes. Pour effectuer des appels d'API REST au-delà de l'intervalle, vous devez demander un nouveau jeton d'accès.
  1. Dans la barre latérale de gauche, sélectionnez Collections. Développez REST_API_for_Oracle_Identity_Cloud_Service, s'il n'est pas développé.
  2. Développez OAuth, puis Jetons.
  3. Sous Jetons, sélectionnez POST Obtain access_token (informations d'identification client).

    L'onglet POST de l'API apparaît dans le workbench. Le volet de demande de l'API est séparé du volet de réponse par une ligne. Vous pouvez faire glisser la ligne de séparation pour afficher plus ou moins de chaque volet.

    Dans le volet des demandes, le champ URL affiche : POST {{HOST}}/oauth2/v1/token

    Les variables pour {{HOST}}, la connexion et les informations d'identification d'authentification sont déjà définies lorsque vous avez terminé la tâche de tutoriel Définir les paramètres d'environnement dans Postman.

  4. Sélectionnez Envoyer.

    Dans le visualiseur de réponses, vérifiez que le statut 200 OK apparaît et que le jeton d'accès est renvoyé dans le corps de la réponse. Un jeton d'accès est une chaîne très longue de lettres et de chiffres.

  5. Pour affecter la valeur de jeton d'accès à une variable d'environnement, procédez comme suit :
    1. Dans la réponse, mettez en surbrillance le contenu du jeton d'accès entre guillemets et cliquez avec le bouton droit de la souris. Dans le menu contextuel, sélectionnez Définir : environnement A pour le test d'API REST, puis access_token dans le menu secondaire pour affecter le contenu en surbrillance en tant que valeur d'environnement de jeton d'accès.
      Jeton d'accès dans les menus de réponse et de contexte

    2. Dans l'angle supérieur droit du workbench, sélectionnez l'icône pour ouvrir le volet des variables.

      La valeur access_token affectée est affichée sous Toutes les variables.


      Variable de jeton d'accès dans le panneau Variables

  6. Pour fermer le panneau des variables, sélectionnez X dans l'angle supérieur droit du panneau ou l'icône des variables.

Si vous envoyez l'appel d'API REST suivant au domaine d'identité avant l'expiration du jeton, l'appel d'API contient le jeton d'accès et d'autres informations relatives à la demande. Les informations REST sont envoyées via un identificateur de ressource universel de demande, un en-tête, des paramètres ou un code JSON. Elles varient en fonction de l'appel d'API REST et de la méthode que vous demandez.

5. Créer un util.

Cette tâche suppose que vous avez demandé un jeton d'accès au cours de la dernière heure.

Si nécessaire, demandez un nouveau jeton avant de créer un utilisateur.

  1. Dans la barre latérale de gauche, sélectionnez Collections. Développez Utilisateurs, puis Créer.
  2. Sous Créer, sélectionnez Créer un utilisateur.

    L'onglet POST de l'API apparaît dans le workbench.

  3. Sélectionnez l'onglet Corps.

    L'exemple utilise le mode brut et le format JSON pour les données de corps.


    Onglet Corps avec code JSON

  4. Sélectionnez Envoyer.
    • Dans le visualiseur de réponses, vérifiez que le statut 201 Created apparaît et que le corps de réponse contient des détails sur l'utilisateur qui a été créé avec succès dans le domaine d'identité.

    • Si le statut 401 Unauthorized apparaît, avec le message d'erreur Proper authorization is required for this area, demandez un nouveau jeton d'accès et réessayez de créer l'utilisateur.

  5. Dans le corps de réponse d'une création réussie, faites défiler la page jusqu'à la ligne 40, qui contient la valeur d'OCID de l'utilisateur créé.

    Par exemple : ocid1.user.oc1..aabaaacaaaq7xxxxxx

  6. Mettez en surbrillance la valeur d'OCID entre guillemets. Dans le menu contextuel, sélectionnez Définir : environnement A pour le test d'API REST, puis userid dans le menu secondaire.
  7. Dans l'angle supérieur droit du workbench, sélectionnez l'icône pour ouvrir le volet des variables.

    La valeur userid affectée est affichée sous Toutes les variables.

6. Obtenir un utilisateur

Cette tâche extrait les détails d'un utilisateur spécifique à l'aide de la variable userid.

La procédure suivante suppose que vous avez terminé la tâche précédente Créer un utilisateur.

  1. Dans la barre latérale de gauche, sélectionnez Collections. Développez Utilisateurs, puis Rechercher.
  2. Sous Rechercher, sélectionnez Obtenir un utilisateur spécifique.

    L'onglet GET de l'API apparaît dans le workbench.

  3. Sélectionnez Envoyer.
    • En cas de succès, vérifiez que le statut 200 OK apparaît dans le visualiseur de réponses. Vous devez également voir les détails de cet utilisateur spécifique dans l'onglet Corps.

    • Si vous voyez le statut 401 Unauthorized avec le message d'erreur Proper authorization is required for this area, demandez un nouveau jeton d'accès et réessayez d'extraire l'utilisateur spécifique.

7. Suppression d'un utilisateur

Cette tâche supprime un utilisateur indiqué par la variable userid.

La procédure suivante suppose que vous avez terminé les tâches du tutoriel Créer un utilisateur et Obtenir un utilisateur.

Si nécessaire, demandez un nouveau jeton d'accès avant d'effectuer cette tâche.

  1. Dans la barre latérale de gauche, sélectionnez Collections. Développez Utilisateurs, puis Supprimer.
  2. Sélectionnez Supprimer l'utilisateur.

    L'onglet DELETE de l'API apparaît dans le workbench.

  3. Dans l'angle supérieur droit du workbench, sélectionnez l'icône pour ouvrir le volet des variables.

    Sous Toutes les variables, vérifiez que la variable userid affiche toujours la même valeur d'OCID que celle utilisée pour extraire les détails de l'utilisateur.

  4. Sélectionnez Envoyer.
    • En cas de succès, vérifiez que le statut 204 No content apparaît dans le visualiseur de réponses. L'onglet Corps est vide car aucun corps de réponse n'est renvoyé pour une opération DELETE.

    • Si vous voyez le statut 401 Unauthorized avec le message d'erreur Proper authorization is required for this area, demandez un nouveau jeton d'accès et essayez à nouveau de supprimer l'utilisateur spécifique.

  5. Une fois la suppression réussie, sélectionnez l'onglet Obtenir un utilisateur spécifique dans le workbench. Sélectionnez ensuite Envoyer.

    Dans le visualiseur de réponses, vérifiez que le statut 404 Not found apparaît, ce qui indique que l'utilisateur a été supprimé.