Skip to content

Scripted API ​

Les connecteurs Scripted API sont des connecteurs ICF basés sur un connecteur propriétaire nommé Scripted API. Ce dernier est un connecteur générique offrant des fonctions utilitaires qui peuvent être utilisées dans des scripts Groovy afin de créer des connecteurs ICF spécifiques. Ceux-ci peuvent ensuite être personnalisés facilement pour répondre aux besoins d'affaires de chaque organisation. Cela peut se faire grâce à une interface graphique intégrée à même RAC/M Identity.

Prérequis ​

  • RAC/M Identity 3.17 ou plus récent
  • Un référentiel de données accessible via une API (par exemple, Workday)

Création du script ​

Cette étape consiste à créer un script Groovy qui sera utilisé par le connecteur Scripted API.

  1. Dans la barre de menu, cliquez sur CONFIGURATION> Fichiers de script.
  2. Cliquez sur le nom du script correspondant au connecteur désiré débutant par reference-scripts/scripted-api-. Cela ouvrira le script. Par exemple, pour créer un connecteur pour Workday, sélectionnez le script reference-scripts/scripted-api-19.0.0.0/workday.groovy. Choisissez la version la plus récente. Si le connecteur n'existe pas déjà, vous pouvez en créer un en vous basant sur les scripts de référence.
  3. Cliquez sur le bouton Dupliquer en bas à droite de l'écran pour créer une copie du script. Cela permettra de conserver le script de référence intact.
  4. Dans la fenêtre qui apparaît, donnez un nom approprié au script et cliquez sur Dupliquer.
  5. (Au besoin) Modifiez-le pour répondre à vos besoins spécifiques. Assurez-vous d'enregistrer régulièrement vos modifications pour éviter de les perdre.
  6. Cliquez sur Enregistrer pour sauvegarder le script.

Création du connecteur ​

Cette étape consiste à créer un connecteur Scripted API qui utilisera le script créé précédemment. Suivez d'abord les étapes de création d'un connecteur dans Configuration d'un connecteur ICF. Sélectionnez Scripted API comme type de connecteur. Utilisez la même version que celle utilisée pour le script.

Configuration en tant que système cible ​

Les paramètres suivants sont nécessaires:

ConfigurationDescription
Script PathChemin vers le script Groovy créé précédemment.
API URLURL de l'API à laquelle se connecter.
Preferred Authentication MethodMéthode d'authentification à utiliser ("password", "bearer", "userToken" ou "oauth2", 'saml2').
Authentication URLL'URL servant à l'authentification.
Custom Config 1 à 5Des configurations personnalisées pouvant être utilisées par le script.
UsernameLe nom d'utilisateur à utiliser pour l'authentification.
PasswordLe mot de passe à utiliser pour l'authentification.
User TokenLe jeton d'utilisateur à utiliser pour l'authentification.
Bearer TokenLe "bearer token" à utiliser pour l'authentification.
Custom Secret 1 à 5Des secrets personnalisés pouvant être utilisés par le script, qui seront chiffrés et manipulés de façon sécuritaire.

Configuration avancée ​

Les paramètres suivants sont nécessaires:

ConfigurationDescription
TimeoutDélai d'attente en millisecondes.
Time between retriesCorrespond au temps d'attente avant qu'une requête HTTP ne soit réessayée. Laissez vide pour utiliser 500 ms par défaut
Thread Pool SizeLe nombre de threads à utiliser pour les opérations concurrentes. Laissez vide pour utiliser tous les threads disponibles.

Authentification (oauth2) ​

Le connecteur peut utilisé le protocole OAuth2 pour s'authentifier auprès de l'API. Cela implique que la configuration nécessite quelques propriétés supplémentaires afin de permettre au flux d'authentification de se dérouler correctement :

ConfigurationDoit Contenir
Custom Config 1Le grant_type.
Custom Config 2Le client_id.
Custom Secret 1Le client_secret.
Preferred Authentication Methodoauth2
Authentication URLL'URL servant à l'authentification.

Authentification (saml2) ​

Le connecteur peut utilisé le protocole OAuth2 saml2 pour s'authentifier auprès de l'API. Cela implique que la configuration nécessite quelques propriétés supplémentaires afin de permettre au flux d'authentification de se dérouler correctement :

ConfigurationDoit Contenir
Script PathChemin vers le script Groovy créé précédemment.
API URLscim https://<api?>.sapsf.com/rest/iam/scim/v2
Preferred Authentication Methodsaml2
Authentication URLL'URL servant à l'authentification.
Custom Config 1grant_type urn:ietf:params:oauth:grant-type:saml2-bearer
Custom Config 2client_id
Custom Config 3company_id
Custom Config 4token_url https://<api?>.sapsf.com/oauth/token
Usernameuser_id
Custom Secret 1private_key

Authentification (Bearer) ​

ConfigurationDoit contenir
Bearer TokenThe "Access Token".
Preferred Authentication MethodBearer

Authentification (password) ​

ConfigurationDescription
Authentication methodpassword
UsernameLe nom d'utilisateur utilisé pour se connecter à l'API.
PasswordLe mot de passe utilisé pour se connecter à l'API.

Authentification (userToken) ​

ConfigurationDescription
Authentication methoduserToken
User TokenLe nom d'utilisateur utilisé pour se connecter à l'API.

Dépannage ​

En cas d'erreur, assurez-vous que la configuration est correcte, que le script est valide et que l'API est accessible. Vous pouvez également consulter les journaux pour plus de détails sur l'erreur (voir Visionner les journaux).

Aspects techniques ​

La meilleure façon de comprendre le fonctionnement du connecteur Scripted API est de consulter les scripts de référence. Ceux-ci contiennent des commentaires qui en expliquent le fonctionnement. De la même manière, il est préférable de développer un nouveau connecteur en se basant sur les scripts de référence.

Schéma de données ​

Le schéma de données utilisé par les connecteurs Scripted API est composé de "ScriptedAPIObjectClass". Chaque "ScriptedAPIObjectClass" contient des "ScriptedAPIAttribute" qui sont utilisés pour représenter les attributs d'un objet. Par exemple, un utilisateur Workday est représenté par un "WorkerObjectClass" contenant les attributs "EMPLOYEE_ID", "FIRST_NAME", "LAST_NAME", etc.

Fonctions ​

Le connecteur Scripted API communique avec le script Groovy en appelant certaines fonctions par leur nom. Le script doit donc obligatoirement contenir certaines fonctions afin de fonctionner correctement.

Les fonctions suivantes doivent être implémentées :

FonctionDescription
testTeste la connexion
schemaRetourne le schéma de données
searchRecherche des objets
createCrée un objet
updateMet à jour un objet
deleteSupprime un objet
addAttributeValuesAjoute des valeurs à un attribut d'un objet
removeAttributeValuesSupprime des valeurs d'un attribut d'un objet

Pour consulter les paramètres et des exemples d'implémentation de ces fonctions, veuillez vous référer aux scripts de référence.

Librairies ​

Les librairies suivantes sont incluses dans le connecteur Scripted API et peuvent être utilisées par les scripts :

LibrairieUtilisation
connid-connector-frameworkFramework de connecteur ICF
okhttpRequêtes HTTP
org.jsonManipulation de JSON

Threads ​

Le connecteur Scripted API prend en charge les opérations concurrentes. Pour ce faire, il utilise un pool de threads. Cela permet d’effectuer plusieurs appels API en parallèle afin d’améliorer les performances. C’est particulièrement utile lors de l’importation d’un grand nombre d’utilisateurs.
Le nombre de threads à utiliser peut être configuré via le paramètre « Thread Pool Size ». Laissez ce paramètre vide pour utiliser tous les threads disponibles.