Sign-on único, 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 SSO, redirecionamentos de URL e o. ServiceNowa plataforma deve fazer mudanças.

    Single Sign-on e. Portal de serviços

    Para usar o login único com Portal de serviços, Você deve habilitar o plug-in do Instalador de login único de vários provedores (com.snc.integration.sso.multi.installer).

    Se você estiver usando a propriedade do sistema para redirecionar automaticamente para o IdP primário, em seguida Portal de serviçosRedireciona automaticamente para esse IdP. Se você tiver vários provedores de identidade, Portal de serviçosmostra 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 o. glide.service_portal.sso.early_redirect.portalspropriedade do sistema. Para obter mais informações, consulte Propriedades Portal de serviços. Se o seu portal usar uma versão personalizada do widget de login, você deverá atualizar o. sp_sso_early_redirection Macro de IU 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 de SSO e Okta de vários provedores. Para obter mais informações sobre esse problema e uma solução alternativa, consulte Portal de serviços: Depois de habilitar o SSO múltiplo, os usuários finais poderão acessar a navpage.Faça por meio do OKTA se já estiverem conectados [KB0687717] artigo no Now SupportBase de conhecimento.

    Exigir autenticação para um Portal de serviçospágina

    Se você quiser exigir autenticação para um Portal de serviços, certifique-se de que Público o sinalizador no registro da página não está 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.

    Porque cada solicitação de página é roteada por sp esta página deve ser pública. Os seguintes valores nas Páginas públicas sys_public a tabela define a página como pública:

    • Página : sp
    • Ativo: true

    Configure 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 os 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, ele não será atualizado 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. Em Script edite o script para mudar o portal atribuído para o portal_sufixo desejado.

        Por exemplo, mudar .getDefaultPortal(); para "/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 login único. Se você estiver enfrentando problemas, tente remover o caractere do script.

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

    Redirecionar usuários condicionalmente para um Portal de serviçosapós fazer login.

    Antes de Iniciar

    Função necessária: administrador

    Procedimento

    1. No filtro do navegador, insira sys_properties.list.
    2. Na tabela Propriedades do sistema [sys_properties], adicione as seguintes propriedades e valores.
      Propriedade Tipo Valor Descrição
      entrada.glide.first.page.script cadeia de caracteres Novo 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 um).
      • 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:
      Esta 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 de glide.entry.loggedin.page_esspropriedade do sistema para o sufixo do portal, como /sp .
    3. Opcional: Personalize o comportamento pós-login no SPEntryPage inclusão de script.

      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ê pode modificar User.hasRoles() no código a seguir.
      if (user.hasRoles() && !redirectURL && !isServicePortalURL)
      Nota:
      • Se você editar a inclusão de script, ele não será atualizado com atualizações futuras.
      • Os usuários com a função de administrador sempre passam por um User.hasRoles() verificar.
      • Se você estiver usando autenticação externa, certifique-se de que o IdP seja compatível com o parâmetro URL RelayState. Este parâmetro retém o URL solicitado originalmente enquanto o usuário autentica e é necessário para 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 solução de problemas de redirecionamento, consulte Perguntas frequentes sobre redirecionamento com o portal de serviços [KB0747432] artigo 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çose redirecionando para a primeira página.

    Para exibir a saída de depuração do SPEntryPage e ver as variáveis de sessão nas quais ele redireciona com base em:
    1. Certifique-se de que a propriedade do sistema glide.entry.first.page.script tenha o valor: Novo SPEntryPage().getFirstPageURL() .
    2. Na inclusão do script SPEntryPage, defina This.logVariables é verdadeiro .
    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.