Authentification unique, connexions et redirections d’URL

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 5 minutes de lecture
  • Portail de services utilise une combinaison de propriétés système et de script includes pour déterminer comment le système gère les redirections d’URL pour les utilisateurs qui se connectent au portail.

    Seuls les utilisateurs qui comprennent l’authentification unique, les redirections d’URL et la ServiceNow plateforme doivent apporter des modifications.

    Authentification unique et Portail de services

    Pour utiliser l’authentification unique avec Portail de services, vous devez activer le module d’extension Integration - Multiple Provider Single Sign-On Installer (com.snc.integration.sso.multi.installer).

    Si vous utilisez la propriété système pour effectuer une redirection automatique vers votre IdP principal, alors Portail de services vous êtes automatiquement redirigé vers ce fournisseur d’identité. Si vous avez plusieurs fournisseurs d’identité, Portail de services affiche un lien sur la page de connexion pour utiliser une connexion externe. Pour plus d’informations sur l’authentification unique (SSO) et l’authentification dans la plateforme, consultez Authentification unique (SSO) de plusieurs fournisseurs.

    Remarque :
    Portail de services présente un problème connu lié à l’utilisation de l’authentification unique (SSO) de plusieurs fournisseurs et d’Okta. Pour plus d’informations sur ce problème et une solution de contournement, consultez Service Portal : après l’activation de l’authentification unique (SSO) multiple, les utilisateurs finaux peuvent accéder à navpage.do via OKTA s’ils sont déjà connectés à l’article [KB0687717] de la Now Support base de connaissances.

    Exiger l’authentification pour une Portail de services page

    Si vous souhaitez exiger l’authentification d’une Portail de services page, assurez-vous que le marqueur public sur l’enregistrement de page n’est pas sélectionné. Pour plus d'informations, consultez Création et modification d’une page à l’aide de Designer Portail de services. Si un utilisateur accède à une page non publique, il est redirigé vers la page de connexion du portail demandé.

    Étant donné que chaque demande de page est acheminée via la page $sp , cette page doit être publique. Les valeurs suivantes dans la table Pages publiques sys_public définissent la page comme publique :

    • Page : $sp
    • Actif : vrai

    Configurer un portail comme page de connexion à l’instance

    Dirigez tous les utilisateurs non authentifiés vers une page de connexion du portail pour se connecter. La page de connexion du portail devient la page de connexion principale de votre instance.

    Avant de commencer

    Rôle requis : admin

    Procédure

    1. Ajoutez une propriété système avec les paramètres suivants :
      • Nom : glide.entry.page.script
      • Type : chaîne
      • Valeur:
        new SPEntryPage().getLoginURL()
    2. Facultatif : Si vous devez diriger les utilisateurs vers un portail autre que celui par défaut, modifiez le portail spécifié dans le script include SPEntryPage.

      SPEntryPage utilise le portail par défaut sur l’instance comme chemin d’accès du portail vers lequel la redirection s’effectue. Centre des employés (ESC) est le portail par défaut par défaut.

      Remarque :
      Si vous modifiez le script include, il ne sera pas mis à niveau avec les futures mises à jour.
      1. Accédez à la Tous > Définition du système > Includes de script.
      2. Dans la table Script Includes [sys_script_include], recherchez un script include nommé SPEntryPage.
      3. Dans le champ Script , modifiez le script pour modifier le portail affecté en portal_suffix vous souhaitez.

        Par exemple, remplacez this.portal = this.getDefaultPortal() ; par this.portal = « /sp/ » ; pour rediriger vers Portail de services.

        SPEntryPage.prototype = {
        
            initialize: function() {
                this.logVariables = false; // for debugging 
                this.portal = this.getDefaultPortal(); // The URL suffix for default portal
            },
        
        Remarque :
        Le caractère à barre oblique (/ ) après /sp peut entraîner des problèmes lors de la configuration de l’authentification unique. Si vous rencontrez des problèmes, essayez de supprimer le personnage du script.

    Rediriger vers Service Portal après la connexion

    Redirigez conditionnellement les utilisateurs vers une Portail de services page après s’être connectés.

    Avant de commencer

    Rôle requis : admin

    Procédure

    1. Saisissez sys_properties.list dans le filtre de navigation.
    2. Dans la table Propriétés système [sys_properties], ajoutez les propriétés et valeurs suivantes.
      Propriété Type Valeur Description
      glide.entry.first.page.script chaîne new SPEntryPage().getFirstPageURL() Première page après authentification
      glide.entry.page.script chaîne Script serveur qui redirige les utilisateurs vers l’endroit où se connecter. Par exemple :

      new SPEntryPage().getLoginURL()

      Contient l’appel à la méthode script include du serveur qui détermine où se connecter
      getFirstPageURL effectue principalement les opérations suivantes :
      • Redirige vers login_redirect.do pour sortir de l’ensemble de cadres (s’il y en a un).
      • Redirige vers le portail par défaut si l’utilisateur n’a pas de rôles ou vers la plateforme complète pour les utilisateurs avec des rôles qui n’essaient pas d’accéder directement à un portail.

        Lorsque l’utilisateur n’a pas de rôles, il est redirigé vers l’équivalent de portail d’une page. Par exemple :

        https://<instance_name>.service-now.com/nav_to.do?uri=change_request_list.do

        Envoie les utilisateurs sans rôles vers :

        https://<instance_name>.service-now.com/sp/?id=list&table=change_request.

      Remarque :
      Ce changement n’empêche pas les utilisateurs sans rôles d’accéder à l’intégralité de la plateforme. Pour empêcher les utilisateurs sans rôle d’accéder à la plateforme et toujours rediriger vers un portail, définissez la valeur de la glide.entry.loggedin.page_ess propriété système sur le suffixe du portail, par exemple /sp.
    3. Facultatif : Personnalisez le comportement après connexion dans le script include SPEntryPage .

      Pour plus d’informations sur la modification des script includes, consultez Script includes.

      Par exemple, si vous souhaitez que les utilisateurs ayant certains rôles soient redirigés vers Portail de services, vous pouvez modifier user.hasRoles() dans le code suivant.
      if (user.hasRoles() && !redirectURL && !isServicePortalURL)
      Remarque :
      • Si vous modifiez le script include, il ne sera pas mis à niveau avec les futures mises à jour.
      • Les utilisateurs disposant du rôle admin passent toujours une vérification user.hasRoles().
      • Si vous utilisez une authentification externe, assurez-vous que votre IdP prend en charge le paramètre URL RelayState. Ce paramètre conserve l’URL demandée à l’origine pendant que l’utilisateur s’authentifie, et est nécessaire pour la redirection après la connexion.

    Que faire ensuite

    Pour déboguer la redirection, reportez-vous à Déboguer les redirections d’URL de Portail de services. Pour plus d’informations sur le dépannage de la redirection, consultez l’article Forum Aux Questions sur la redirection avec Service Portal [KB0747432] dans la base de connaissances Now Support.

    Déboguer les redirections d’URL de Portail de services

    Déboguez les redirections d’URL pour se connecter Portail de services et rediriger vers la première page.

    Pour afficher la sortie de débogage à partir de SPEntryPage et afficher les variables de session sur lesquelles il redirige en fonction de :
    1. Assurez-vous que la propriété système glide.entry.first.page.script a la valeur : new SPEntryPage().getFirstPageURL().
    2. À partir du script include SPEntryPage, définissez this.logVariables = true.
    3. Connectez-vous dans un navigateur séparé.
    4. Dans le navigateur système, affichez la sortie du journal en accédant à Journaux système > Journal système > Tous.