Domaines d'identité OCI avec Postman

Dans ce tutoriel, vous effectuez 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 des domaines d'identité permettent d'intégrer des domaines d'identité aux clients REST afin de gérer les utilisateurs, les groupes, les applications et les paramètres, et d'effectuer une authentification unique (SSO) fédérée et une autorisation dans le cloud. Les API prennent en charge OAuth 2.0, OpenID Connect et System for Cross-Domain Identity Management (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 la collection Postman des domaines d'identité
  • Demander un jeton d'accès OAuth
  • Création d'un utilisateur
  • Obtenir un utilisateur
  • Suppression d'un utilisateur

Ce tutoriel prend environ 20 minutes.

Remarque

Ce tutoriel est spécifique à OCI Identity and Access Management avec 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é. Vérifiez que vous avez les valeurs suivantes :
    • Nom de location, nom de domaine d'identité et informations d'identification (nom utilisateur et mot de passe) pour se 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 de domaine, reportez-vous à Recherche d'une URL de domaine d'identité dans la documentation. L'URL de domaine d'identité est utilisée pour construire une demande REST.
  • Bonne 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 auprès d'un domaine d'identité, inscrivez 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 des détails d'application du workflow, entrez le nom et la description de l'application, puis sélectionnez Suivant.
  7. A l'étape Configurer OAuth, effectuez les actions suivantes :
    1. Dans la zone Configuration du client, sélectionnez Configurer cette application comme client maintenant.

      La boîte se développe, affichant 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 des rôles d'application, puis Ajouter des rôles.
    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 de détails de l'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 vers le bas jusqu'à Informations générales et suivez les étapes ci-après 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 valeur 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 dans le clavier. 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 dans un emplacement sécurisé.

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

Pour exécuter 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, puis l'espace de travail. 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 à importer dès que vous collez l'URL. Une fois l'import terminé, sélectionnez Rejeter 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 Exemple d'environnement 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 de 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 Inscrire une application client.
    • USER_LOGIN et USER_PW : nom utilisateur et mot de passe de connexion
      Variables d'environnement Postman modifiées

  7. Sélectionnez 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 exécuter 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 à importer dès que vous collez l'URL. Une fois l'import terminé, vous pouvez sélectionner Rejeter 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 auprès du 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, un jeton d'accès a un intervalle d'expiration 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, si ce n'est pas le cas.
  2. Développez OAuth, puis Jetons.
  3. Sous Jetons, sélectionnez POST Obtention de 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 chaque volet.

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

    Les variables pour {{HOST}}, les informations d'identification de connexion et 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 très longue chaîne 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 Ensemble : environnement A pour le test d'API REST, puis access_token dans le menu secondaire pour affecter le contenu mis en évidence 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 sélectionnez l'icône des variables.

Si vous envoyez le prochain appel d'API REST au domaine d'identité avant l'expiration du jeton, l'appel d'API contient le jeton d'accès et d'autres informations liées à 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, et varient en fonction de l'appel d'API REST et de la méthode que vous demandez.

5. Création d'un utilisateur

Cette tâche suppose que vous ayez 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 Body.

    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 la réponse contient des détails sur l'utilisateur qui a été créé 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 doubles. Dans le menu contextuel, sélectionnez Ensemble : 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 Create a User.

  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 relatifs à 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. Lorsque la suppression réussit, sélectionnez l'onglet Obtenir un utilisateur spécifique dans le workbench. Ensuite, sélectionnez 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é.