Authentification unique, connexions et redirections d’URL

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 5 minutes de lecture
  • Portail de services utilise une combinaison de propriétés système et d’includes de script 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 Intégration - Programme d’installation de l’authentification unique de plusieurs fournisseurs (com.snc.integration.sso.multi.installer).

    Si vous utilisez la propriété système pour effectuer une redirection automatique vers votre IdP principal, Portail de services alors vous êtes automatiquement redirigé vers cet IdP. 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 la SSO de plusieurs fournisseurs et d’Okta. Pour plus d’informations sur ce problème et une solution de contournement, consultez Portail de services : Après l’activation de l’authentification unique (SSO) multiple, les utilisateurs finaux peuvent accéder aux navpage.do via OKTA s’ils sont déjà connectés à l’article [KB0687717] de la base de Now Support connaissances.

    Exiger une authentification pour une Portail de services page

    Si vous souhaitez exiger une authentification pour 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éer et modifier 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 en tant que page de connexion de 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 primaire de votre instance.

    Avant de commencer

    Rôle requis : administrateur

    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 le portail par défaut, modifiez le portail spécifié dans l’include de script 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.

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

        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 de 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 Portail de services 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 : administrateur

    Procédure

    1. Entrez 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 nouveau 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 :

      nouveau SPEntryPage().getLoginURL()

      Contient l’appel au serveur Méthode d’include de script qui détermine où se connecter
      getFirstPageURL effectue principalement les opérations suivantes :
      • Redirige vers login_redirect.do pour sortir du jeu 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 ayant des rôles qui n’essaient pas d’accéder directement à un portail.

        Lorsque l’utilisateur n’a aucun rôle, il est redirigé vers l’équivalent d’une page du portail. 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 :
      Cette modification 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ôles 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 la connexion dans l’include de script SPEntryPage .

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

      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 l’include de script, il ne sera pas mis à niveau avec les mises à jour futures.
      • Les utilisateurs disposant du rôle administrateur 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 à la section 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] de 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 et Portail de services rediriger vers la première page.

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