Single Sign On, logins, and URL redirects

Service Portal uses a combination of system properties and script includes to determine how the system handles URL redirects for users logging in to the portal.

Only users who understand single sign on, URL redirects, and the ServiceNow platform should make any changes.

If you are using the system property to automatically redirect to your primary IdP, then Service Portal automatically redirects to that IdP. If you have multiple identity providers, Service Portal shows a link on the login page to Use external login. For more information on SSO and authentication in the platform, see Authentication.

Require authentication for a Service Portal page

If you want to require authentication for a Service Portal page, ensure that the Public flag on the page record is not selected. For more information, see Create and edit a page using the Service Portal Designer. If a user navigates to a non-public page, they are redirected to the login page for the requested portal.

Because every page request is routed through the $sp page, this page must be public. The following values in the Public Pages sys_public table define the page as public:

  • Page: $sp
  • Active: true

Configure the Service Portal login page

Administrators can configure a login page URL redirect for a portal.

  1. In the sys_properties table, make sure these properties are set to the following:
    Property Value Description
    glide.entry.page.script new

    SPEntryPage(). getLoginURL()

    Login page determination
  2. It's better to leave this alone, but if you do need to customize the actual entry page, from the Script Includes table, search for SPEntryPage.
    Note: If you make changes to the script include, it won't be upgraded with future updates.
  3. Edit the script on the SPEntryPage to change the assigned portal to the portal_suffix you want. SPEntryPage uses /sp/ as the portal path to redirect to. Enter your own portal_suffix in place of sp.

    SPEntryPage Script Include with the this.portal = "/sp/"; section highlighted

Redirect to Service Portal after login

Use system properties and script includes to conditionally redirect users to a page after logging in.

Follow these steps to redirect a user to Service Portal after they log in.

  1. In the sys_properties table, add the following property:
    Property Type Value Description
    glide.entry.first.page.script string new SPEntryPage().getFirstPageURL() First page after authentication
    getFirstPageURL primarily does the following:
    • Redirects to login_redirect.do in order to break out of the frameset (if there is one).
    • Redirects to Service Portal if the user has no roles, or the full platform for everyone else.
  2. Customize the after login behavior by navigating to the SPEntryPage script include.
    Note: If you make changes to the script include, it won't be upgraded with future updates.

Debug Service Portal URL redirects

Debug the URL redirects for logging in to Service Portal and redirecting to the first page.

To view debug output from SPEntryPage and see the session variables it redirects based on:
  1. Make sure the system property glide.entry.first.page.script has the value: new SPEntryPage().getFirstPageURL().
  2. From the SPEntryPage script include, set this.logVariables = true.
  3. In a separate browser, log in.
  4. From the system navigator, view the log output by navigating to System Logs > System Log > All.