Configurer le widget de messagerie instantanée portable Agent virtuel
Configurez le widget de messagerie instantanée portable Agent virtuel pour qu’il s’exécute Agent virtuel sur des pages Web tierces.
Avant de commencer
Rôle requis : admin
Pourquoi et quand exécuter cette tâche
ServiceNow ne prend en charge le portable Agent virtuel que lorsque le domaine de premier niveau et le nom de domaine correspondent au site qui charge le widget de messagerie instantanée. La SSO n’est prise en charge que via l’URL service-now.com. Tout ce qui va au-delà nécessitera une solution et une mise en œuvre personnalisées.
Procédure
- Accédez à Tous, puis saisissez sys_properties.list dans le filtre.
- Dans la table Propriétés système [sys_properties], recherchez la com.glide.cs.embed.csp_frame_ancestors propriété par nom.
-
Cliquez sur le nom de la propriété pour ouvrir le formulaire et spécifier les valeurs de directives.
Champ Description Type chaîne Il s’agit de la valeur par défaut.
Valeur Valeur source de la directive d’en-tête HTTP : Content-Security-Policy :frame-ancestors<source>Cette propriété s’applique à la plupart des principaux navigateurs, à l’exception d’Internet Explorer.Spécifiez une ou plusieurs sources, dont les suivantes :- 'self' : indique que l’origine est la même que la page servie. Par exemple, si la valeur est 'self' http://mywebsite.com, alors l’iframe est incorporé dans le domaine parent ainsi que mywebsite.com. Il s’agit de la valeur par défaut.
- host-source : les domaines dans lesquels la page Web externe peut être incorporée. Spécifiez le site hôte Internet par nom, adresse IP ou URL et/ou numéro de port en option. L’adresse du site peut commencer par un caractère générique (astérisque). Exemple de valeur : http ://*.example.com
- scheme-source : schéma A. Par exemple : http : ou https :
- aucune : aucune URL correspondante.
- Revenez à la table Propriétés système [sys_properties] pour rechercher la com.glide.cs.embed.xframe_options propriété par nom.
-
Cliquez sur le nom de la propriété pour ouvrir le formulaire et spécifier les valeurs de directives.
Champ Description Type chaîne Il s’agit de la valeur par défaut.
Valeur Valeur de la directive d’en-tête X-Frame-Options, pour indiquer si le navigateur peut afficher une page Web externe dans un cadre. Indiquez l’une des valeurs suivantes :- sameorigin : affiche la page dans un cadre qui a la même origine que la page elle-même. Il s’agit de la valeur par défaut. Cette propriété s’applique aux navigateurs plus anciens, tels qu’Internet Explorer 11. Exemple de valeur : autoriser à partir de https://example.com
- deny : n’affiche pas la page dans un cadre.
- URI allow-from : affiche la page uniquement dans un cadre sur l’origine spécifiée.Remarque :Cette valeur ne fonctionne plus dans les navigateurs modernes.
-
Configurez les règles CORS pour que l’API REST accorde l’accès à tous les domaines.
Cette règle donne au domaine web que vous spécifiez le droit d’appeler l’API qui lui donne accès au widget de messagerie instantanée sur la page web sans restriction de sécurité. Tous les domaines doivent partager un domaine parent commun. En outre, vous devez créer une nouvelle règle CORS pour chaque sous-domaine que vous souhaitez prendre en charge.
- Accédez à la Tout > Services web du système > REST > Règles CORS.
- Cliquez sur Nouveau.
-
Sur le formulaire, renseignez les champs.
Champ Description Nom Nom unique de la règle. Demande Périmètre de l'application. Global est la valeur par défaut. API REST Nom de l’API REST. Sélectionnez Compte de consommateur de conversation [now/cs]. Domaine Le domaine de votre site web. Par exemple : https://mycompany.com Si vous avez plusieurs sous-domaines pour votre site Web, vous devez créer une règle CORS pour chacun d’eux. Par exemple, support.mycompany.com et products.mycompany.com nécessiteraient deux règles CORS distinctes.
Remarque :Les caractères génériques ne sont pas autorisés.Durée maximale Le nombre de secondes pour mettre en cache la session client. Après une demande CORS initiale, les demandes ultérieures du même client dans le délai spécifié ne nécessitent pas de message en amont. Si vous ne spécifiez pas de valeur, la valeur par défaut 0 indique que toutes les demandes nécessitent un message de contrôle en amont.
-
Dans l’onglet Méthodes HTTP , sélectionnez GET.
Le widget de messagerie instantanée portable ne recevra que des demandes.
- Cliquez sur Envoyer.
- Facultatif : Répétez ces étapes si vous souhaitez ajouter le widget de chat portable à un autre sous-domaine sur votre site Web.
- Facultatif :
Créez un script JavaScript qui utilise la méthode (API Web) pour définir les conditions d’événement qui déclenchent l’authentification window.postMessage() SSO dans une page d’interface utilisateur et renvoie les utilisateurs vers une page de widget de messagerie instantanée que vous spécifiez.
Pour rediriger les utilisateurs vers une page de widget de messagerie instantanée, utilisez la chaîne suivante :
« https://<votre-instance>.service-now.com/sn_va_web_client_login.do?sysparm_redirect_uri=' + encodeURIComponent(<votre-page>)Remarque :Avant d’exécuter le script, utilisez la com.glide.cs.web_client_login_redirect_urls propriété système pour spécifier les URL qui peuvent être transmises dans le script. La redirection fonctionne uniquement lorsque vous spécifiez une ou plusieurs URL autorisées dans la valeur de la propriété. Spécifiez les URL de redirection complètes ou la partie hôte de l’URL. Par exemple : https://example.com .Exemple de script<script> window.addEventListener("message", function(e) { // redirect to SSO login if the chat widget logs in but is logged in as a guest user(unauthenticated) if(e.data.type==="SESSION_CREATED" && e.data.authenticated === false) window.location.href = "https://<your-instance>.service-now.com/sn_va_web_client_login.do?sysparm_redirect_uri=<’ + encodeURIComponent(<your-page>); // redirect to SSO login if the ServiceNow platform logs out from underneath the chat widget if(e.data.type==="SESSION_LOGGED_OUT") window.location.href = "https://<your-instance>service-now.com/"https://<your-instance>service-now.com/sn_va_web_client_login.do?sysparm_redirect_uri=’ + encodeURIComponent(<your-page>); }); </script>Dans cet exemple, l’authentification est déclenchée dans l’instance spécifiée lorsque des événements SESSION_CREATED ou SESSION_LOGGED_OUT se produisent. Après l’authentification (lorsque les informations d’identification SSO des utilisateurs sont acceptées), les utilisateurs sont redirigés vers la page du widget de messagerie instantanée incorporé que vous avez spécifiée dans
sn_va-web_client_login.do ?sysparm_redirect_uri=' + encodeURIComponent(<votre-page>),à condition que vous ayez également spécifié l’URL de la page dans la com.glide.cs.web_client_login_redirect_urls propriété.
Que faire ensuite
Ajouter le widget de messagerie instantanée portable Agent virtuel à un site web tiers.