Ce document décrit ce qui est nécessaire pour l'intégration d'un gadget 3 tiers avec Finesse lorsque le système est en mode SSO (Single Sign-On). Un exemple est également donné pour le mode NON SSO.
Cisco vous recommande de prendre connaissance des rubriques suivantes :
Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Il s'agit des étapes initiales pendant que l'agent tente de se connecter et de s'authentifier avec SSO ou NONSSO.
la deuxième étape décrit ce qui doit être pris en compte après une authentification réussie en cas de SSO et de NONSSO.
Cette image montre le modèle de base d'interaction entre un gadget tiers, Finesse, IDS et un service REST tiers, lorsque le système est en mode SSO.
Image
Voici la description de chaque étape affichée dans l'image.
Étape 1. Pour les appels d'API REST Finesse effectués via Shindig, les gadgets doivent ajouter un en-tête d'autorisation « Bearer » dans les en-têtes gadgets.io.makeRequest.
Étape 2. Les gadgets doivent passer des appels gadgets.io.makeRequest natifs pour toutes les demandes REST, l'en-tête d'autorisation doit être défini à l'intérieur des paramètres de demande.
Pour les déploiements NON SSO, il s'agit de l'en-tête Auth.
"Basic " + base64.encode(username : password)
Pour les déploiements SSO, il s'agit de l'en-tête Auth.
"Bearer " + access_token
Le jeton d'accès peut être récupéré à partir de l'objet finesse.gadget.Config.
access_token = finesse.gadget.Config.authToken
Le nouvel en-tête d'autorisation doit être ajouté aux paramètres de demande.
params[gadgets.io.RequestParameters.HEADERS].Authorization = "Basic " + base64.encode(username : password);
params[gadgets.io.RequestParameters.HEADERS].Authorization = "Bearer " + access_token;
Étape 3. Une méthode utilitaire getAuthHeaderString a été ajoutée dans Utilitaires.Utilities. Cette méthode utilitaire prend l'objet config comme argument et retourne la chaîne d'en-tête d'autorisation. Les gadgets peuvent utiliser cette méthode d'utilitaire pour définir l'en-tête d'autorisation dans les paramètres de demande.
params[gadgets.io.RequestParameters.HEADERS].Authorization= finesse.utilities.Utilities.getAuthHeaderString(finesse.gadget.config);
Note: Pour les demandes d'API aux services Web tiers, l'en-tête d'authentification doit être défini en fonction du schéma d'authentification mis en oeuvre par le service Web tiers. Les développeurs de gadget ont la liberté d'utiliser l'authentification de base, l'authentification par jeton de support ou tout autre mécanisme d'authentification de leur choix.