Single Sign-on, logins e redirecionamentos de URL

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 5 min. de leitura
  • Portal de serviços usa uma combinação de propriedades do sistema e inclusões de script para determinar como o sistema lida com redirecionamentos de URL para usuários que fazem login no portal.

    Somente usuários que entendem de SSO, redirecionamentos de URL e a plataforma ServiceNow devem fazer mudanças.

    Single Sign-on e Portal de serviços

    Para usar o single sign-on com Portal de serviços, você deve habilitar o plug-in Integration - Multiple Provider Single Sign-On Installer (com.snc.integration.sso.multi.installer).

    Se você estiver usando a propriedade do sistema para redirecionar automaticamente para o IdP primário, Portal de serviços redirecionará automaticamente para esse IdP. Se você tiver vários provedores de identidade, Portal de serviços mostrará um link na página de login para Usar login externo. Para obter mais informações sobre SSO e autenticação na plataforma, consulte Single Sign-on (SSO) de vários provedores.

    Para redirecionar usuários para a página de login do Provedor de identificação de SSO (IdP) sem primeiro redirecioná-los para a página de login do portal, você pode configurar a propriedade do sistema glide.service_portal.sso.early_redirect.portals. Para obter mais informações, consulte Propriedades Portal de serviços. Se o seu portal usa uma versão personalizada do widget de Login, você deve atualizar a macro de IU sp_sso_early_redirection conforme necessário para redirecionar os usuários para a página de login do Provedor de Identificação de SSO (IdP) sem tentar carregar a página do portal primeiro.

    Nota:
    Portal de serviços tem um problema conhecido relacionado ao uso do SSO de vários provedores e do Okta. Para obter mais informações sobre este problema e uma solução alternativa, consulte o Portal de serviços: depois de habilitar o Multi-SSO, os usuários finais poderão acessar navpage.do por meio do OKTA se já estiverem conectados no artigo [KB0687717] na Base de conhecimento Now Support.

    Exigir autenticação para uma página Portal de serviços

    Se você quiser exigir autenticação para uma página Portal de serviços, certifique-se de que o sinalizador Público no registro da página não esteja selecionado. Para obter mais informações, consulte Criar e editar uma página usando o Designer Portal de serviços. Se um usuário navegar para uma página não pública, ele será redirecionado para a página de login do portal solicitado.

    Como cada solicitação de página é roteada por meio da página $sp, esta página deve ser pública. Os seguintes valores na tabela Páginas públicas sys_public definem a página como pública:

    • Página: $sp
    • Ativo: true

    Configurar um portal como a página de login da instância

    Direcione todos os usuários não autenticados para uma página de login do portal para fazer login. A página de login do portal se torna a página de login primária da sua instância.

    Antes de Iniciar

    Função necessária: administrador

    Procedimento

    1. Adicione uma propriedade do sistema com as seguintes configurações:
      • Nome: glide.entry.page.script
      • Tipo: cadeia de caracteres
      • Valor:
        new SPEntryPage().getLoginURL()
    2. Opcional: Se você precisar direcionar usuários para um portal diferente do portal padrão, edite o portal especificado na inclusão de script SPEntryPage.

      SPEntryPage usa o portal padrão na instância como o caminho do portal para o qual redirecionar. Central do funcionário (esc) é o portal padrão por padrão.

      Nota:
      Se você editar a inclusão de script, ela não será atualizada com atualizações futuras.
      1. Navegar até Tudo > Definição do Sistema > Inclusões de script.
      2. Na tabela Inclusões de script [sys_script_include], pesquise uma inclusão de script chamada SPEntryPage.
      3. No campo Script, edite o script para mudar o portal atribuído para o portal_suffix desejado.

        Por exemplo, altere this.portal = this.getDefaultPortal(); para this.portal = "/sp/"; para redirecionar para Portal de serviços.

        SPEntryPage.prototype = {
        
            initialize: function() {
                this.logVariables = false; // for debugging 
                this.portal = this.getDefaultPortal(); // The URL suffix for default portal
            },
        
        Nota:
        O caractere de barra (/) após /sp pode causar problemas ao configurar o Single Sign-on. Se você estiver enfrentando problemas, tente remover o caractere do script.

    Redirecionar para o Portal de serviços após o login

    Redirecione os usuários condicionalmente para uma página Portal de serviços após o login.

    Antes de Iniciar

    Função necessária: administrador

    Procedimento

    1. No filtro de navegação, insira sys_properties.list.
    2. Na tabela Propriedades do sistema [sys_properties], adicione as seguintes propriedades e valores.
      Propriedade Tipo Valor Descrição
      glide.entry.first.page.script Cadeia de caracteres nova SPEntryPage().getFirstPageURL() Primeira página após a autenticação
      glide.entry.page.script Cadeia de caracteres Script do servidor que redireciona os usuários para onde fazer login. Por exemplo:

      nova SPEntryPage().getLoginURL()

      Contém a chamada para o método de inclusão de script do servidor que determina onde fazer login
      getFirstPageURL faz principalmente o seguinte:
      • Redireciona para login_redirect.do para sair do conjunto de quadros (se houver).
      • Redireciona para o portal padrão se o usuário não tiver funções ou para a plataforma completa para usuários com funções que não estão tentando acessar um portal diretamente.

        Quando o usuário não tem funções, ele é redirecionado para o portal equivalente a uma página. Por exemplo,

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

        envia usuários sem funções para:

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

      Nota:
      Essa mudança não impede que usuários sem funções acessem a plataforma completa. Para impedir que usuários sem funções acessem a plataforma e sempre redirecionem para um portal, defina o valor da propriedade do sistema glide.entry.loggedin.page_ess como o sufixo do portal, como /sp.
    3. Opcional: Personalize o comportamento pós-login na inclusão de script SPEntryPage.

      Para obter mais informações sobre como modificar inclusões de script, consulte Inclusões de script.

      Por exemplo, se você quiser que usuários com determinadas funções sejam redirecionados para Portal de serviços, você poderá modificar user.hasRoles() no código a seguir.
      if (user.hasRoles() && !redirectURL && !isServicePortalURL)
      Nota:
      • Se você editar a inclusão de script, ela não será atualizada com atualizações futuras.
      • Usuários com a função de administrador sempre passam na verificação user.hasRoles().
      • Se você estiver usando autenticação externa, verifique se o IdP é compatível com o parâmetro de URL RelayState. Este parâmetro retém o URL solicitado originalmente enquanto o usuário é autenticado e é necessário para o redirecionamento após o login.

    O que Fazer Depois

    Para depurar o redirecionamento, consulte Depurar redirecionamentos de URL do Portal de serviços. Para obter informações adicionais sobre a solução de problemas de redirecionamento, consulte o artigo Perguntas frequentes sobre redirecionamento com o portal de serviços [KB0747432] na Base de conhecimento do Now Support.

    Depurar redirecionamentos de URL do Portal de serviços

    Depure os redirecionamentos de URL para fazer login em Portal de serviços e redirecionar para a primeira página.

    Para exibir a saída de depuração de SPEntryPage e ver as variáveis de sessão nas quais ela é redirecionada:
    1. Certifique-se de que a propriedade do sistema glide.entry.first.page.script tenha o valor: new SPEntryPage().getFirstPageURL().
    2. Na inclusão de script SPEntryPage, defina this.logVariables = true.
    3. Em um navegador separado, faça login.
    4. No navegador do sistema, exiba a saída do log navegando até Logs do sistema > Log do Sistema > Tudo.