Référence REST générique (interface utilisateur standard)

Voyons quelques exemples d'API REST à configurer pour le système orchestré.

Réponse à la demande d'API de création de compte

Pour configurer l'API de création de compte, utilisez l'exemple suivant :

Créer des détails d'API de compte

  • Nom : Create User (Créer un utilisateur)
  • Méthode : POST
  • URL : <target-system>/admin/v1/Users
  • En-têtes
    • Content-Type: application/json
    • Authorization: <<CREDENTIALS>>. La valeur <<CREDENTIALS>> est résolue lors de l'exécution à l'aide d'OCI Vault ou des informations d'identification saisies par l'utilisateur configurées dans les paramètres d'intégration.
  • Corps de la demande pour l'API REST

    Attribut schemas présenté dans l'exemple :

    {
      "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
      "userName": "<EL>attributes.get('name').get(0)</EL>",
      "name": {
        "givenName": "<EL>attributes.get('firstName').get(0)</EL>",
        "familyName": "<EL>attributes.get('lastName').get(0)</EL>"
      },
      "password": "<EL>attributes.get('password').get(0)</EL>",
      "emails": [
        {
          "value": "<EL>attributes.get('email').get(0)</EL>",
          "type": "work",
          "primary": true
        }
      ]
    }
  • Réponse
    {
      "items": "",
      "responseValues": [],
      "attributes": [
        {
          "name": "uid",
          "value": "<JP>$.id</JP>",
          "responseOfSubRequestId": null,
          "items": null,
          "subAttributes": []
        }
      ]
    }
    Cette API crée un compte cible et met en correspondance l'identificateur renvoyé avec l'attribut uid.

API de recherche de groupe

Détails d'API de compte de recherche de groupe

  • Nom : Recherche de groupe (autorisation)
  • Méthode : POST
  • URL : <target-system>/admin/v1/Groups/.search
  • En-têtes
    • Content-Type: application/json
    • Authorization: <<CREDENTIALS>>. La valeur <<CREDENTIALS>> est résolue lors de l'exécution à l'aide d'OCI Vault ou des informations d'identification saisies par l'utilisateur configurées dans les paramètres d'intégration.
  • Corps de la demande pour l'API REST

    Incluez l'attribut schemas indiqué dans l'exemple :

    {
      "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:SearchRequest"
      ],
      "attributes": [
        "displayName",
        "externalId"
      ],
      "sortBy": "displayName",
      "startIndex": "UQ:<EL>currentOffset</EL>",
      "count": "UQ:<EL>limit</EL>"
    }
  • Réponse

    A l'aide de l'éditeur JSON, utilisez la réponse suivante :

    {
      "items": "<JP>$.Resources[*]</JP>",
      "responseValues": [],
      "attributes": [
        {
          "name": "uid",
          "value": "<JP>$.Resources[<EL>currentIndex</EL>].id</JP>",
          "responseOfSubRequestId": null,
          "items": null,
          "subAttributes": []
        },
        {
          "name": "name",
          "value": "<JP>$.Resources[<EL>currentIndex</EL>].displayName</JP>",
          "responseOfSubRequestId": null,
          "items": null,
          "subAttributes": []
        }
      ]
    }

API de recherche de pays

  • Nom : Rechercher des pays
  • Méthode : GET
  • URL : <target-system>/admin/v1/AllowedValues/countries
  • En-têtes
    • Content-Type: application/json
    • Authorization: <<CREDENTIALS>>. La valeur <<CREDENTIALS>> est résolue lors de l'exécution à l'aide d'OCI Vault ou des informations d'identification saisies par l'utilisateur configurées dans les paramètres d'intégration.
  • Réponse

    A l'aide de l'éditeur JSON, utilisez la réponse suivante :

    {
      "items": "<JP>$.attrValues[*]</JP>",
      "responseValues": [],
      "attributes": [
        {
          "name": "uid",
          "value": "<JP>$.attrValues[<EL>currentIndex</EL>].value</JP>",
          "responseOfSubRequestId": null,
          "items": null,
          "subAttributes": []
        },
        {
          "name": "name",
          "value": "<JP>$.attrValues[<EL>currentIndex</EL>].value</JP>",
          "responseOfSubRequestId": null,
          "items": null,
          "subAttributes": []
        }
      ]
    }

Ajouter une API d'appartenance à un groupe

  • Nom : Ajouter une appartenance à un groupe
  • Méthode : PATCH
  • URL : <target-system>/admin/v1/Groups/<EL>attributes.get('groups').get('uid').get(0)</EL>
  • En-têtes
    • Content-Type: application/json
    • Authorization: <<CREDENTIALS>>. La valeur <<CREDENTIALS>> est résolue lors de l'exécution à l'aide d'OCI Vault ou des informations d'identification saisies par l'utilisateur configurées dans les paramètres d'intégration.
  • Demande

    Utilisez la demande suivante :

    {
      "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:PatchOp"
      ],
      "Operations": [
        {
          "op": "add",
          "path": "members",
          "value": [
            {
              "value": "<EL>attributes.get('uid').get(0)</EL>",
              "type": "User"
            }
          ]
        }
      ]
    }
  • Réponse
    A l'aide de l'éditeur JSON, utilisez la réponse suivante :
    Name: uid
    Value: <EL>attributes.get('uid').get(0)</EL>
    Ou utiliser l'éditeur JSON
    {
      "items": "",
      "responseValues": [],
      "attributes": [
        {
          "name": "uid",
          "value": "<EL>attributes.get('uid').get(0)</EL>",
          "responseOfSubRequestId": null,
          "items": null,
          "subAttributes": []
        }
      ]
    }

Supprimer l'API de compte

  • Nom : API de suppression de compte
  • Méthode : DELETE
  • URL : <target-system>/admin/v1/Users/<EL>attributes.get('uid').get(0)</EL>
  • En-têtes
    • Content-Type: application/json
    • Authorization: <<CREDENTIALS>>. La valeur <<CREDENTIALS>> est résolue lors de l'exécution à l'aide d'OCI Vault ou des informations d'identification saisies par l'utilisateur configurées dans les paramètres d'intégration.
  • Paramètre : forceDelete : true
  • Réponse

    Utilisez la réponse suivante :

    Name: uid
    Value: <EL>attributes.get('uid').get(0)</EL>
    Ou utiliser l'éditeur JSON
    {
      "items": "",
      "responseValues": [],
      "attributes": [
        {
          "name": "uid",
          "value": "<EL>attributes.get('uid').get(0)</EL>",
          "responseOfSubRequestId": null,
          "items": null,
          "subAttributes": []
        }
      ]
    }