Authentification unique, connexions et redirections d’URL

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 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 plateforme doivent apporter des ServiceNow 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 être automatiquement redirigé vers votre fournisseur d’identités principal, il Portail de services est automatiquement redirigé vers ce fournisseur d’identités. 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 la SSO et l’authentification dans la plateforme, consultez Authentification unique (SSO) de plusieurs fournisseurs.

    Pour rediriger les utilisateurs vers la page de connexion de l’authentification unique (IdP) sans les rediriger d’abord vers la page de connexion du portail, vous pouvez configurer la glide.service_portal.sso.early_redirect.portals propriété système. Pour plus d'informations, consultez Propriétés du Portail de services. Si votre portail utilise une version personnalisée du widget de connexion, vous devez mettre à jour la macro d’interface utilisateur sp_sso_early_redirection nécessaire pour rediriger les utilisateurs vers la page de connexion de l’authentification unique (IdP) sans avoir à essayer de charger la page du portail au préalable.

    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 en savoir plus sur ce problème et trouver une solution, consultez Portail de services : après avoir activé 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] dans la Now Support base de connaissances.

    Exiger une authentification pour une Portail de services page

    Si vous souhaitez exiger l’authentification pour une page, assurez-vous que le marqueur Public sur l’enregistrement de Portail de services page n’est pas sélectionné. Pour plus d'informations, consultez Créer et modifier une page à l’aide du Portail de services concepteur. Si un utilisateur navigue vers une page non publique, il est redirigé vers la page de connexion au portail demandé.

    Étant donné que chaque demande de page est acheminée via la page $sp , cette page doit être publique. Les valeurs suivantes de 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 : 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 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 au portail vers lequel la redirection. 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é au portal_suffix souhaité.

        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

    Rediriger 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. 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 à la méthode d’include de script du serveur 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.

        Si l’utilisateur n’a aucun rôle, il est redirigé vers l’équivalent d’une page sur le portail. Par exemple :

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

        Envoie les utilisateurs sans rôles à :

        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 à la plateforme complète. 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, voir 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 ayant le rôle admin passent toujours une vérification user.hasRoles().
      • Si vous utilisez une authentification externe, assurez-vous que votre fournisseur d’identités prend en charge le paramètre d’URL RelayState. Ce paramètre conserve l’URL demandée à l’origine pendant l’authentification de l’utilisateur 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 du portail de services. Pour plus d’informations sur le dépannage de la redirection, consultez l’article Forum Aux Questions sur la redirection avec le portail de services [KB0747432] dans la base de connaissances Now Support.

    Déboguer les redirections d’URL du portail de services

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

    Pour afficher la sortie de débogage de SPEntryPage et voir les variables de session en fonction desquelles il redirige :
    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. Dans un navigateur séparé, connectez-vous.
    4. Dans le navigateur système, affichez la sortie du journal en accédant à Journaux système > Journal système > Tout.