Search code examples
oauth-2.0servicenowservicenow-rest-api

ServiceNow OAuth endpoints' URLs NOT requiring 'Instance ID'?


QUESTION: Does ServiceNow provide another OAuth approach that does not require [[Instance ID]] within its OAuth endpoint URLs?

I need help integrating ServiceNow's OAuth into my service because of its requirement to include [[Instance ID]] within OAuth endpoint URLs.

Because of this complication, I cannot deploy a ServiceNow integration solution accessible by multiple ServiceNow clients without knowing their [[Instance ID]] to perform OAuth beforehand.

Details: ServiceNow and SalesForce provide OAuth access to only a single instance identified by their [[Instance ID]].

ServiceNow

  • OAuth 2.0 endpoint URLs are variable and require ServiceNow [[Instance ID]], which is extremely inconvenient for any versatile integration effort.
  • OAuth access response: access_token, refresh_token, scope

Endpoint URLs:

  • https://**[[Instance ID]]**.service-now.com/oauth_auth.do
  • https://**[[Instance ID]]**.service-now.com/oauth_token.do

Salesforce

  • OAuth 2.0 endpoints are static. Does not require Salesforce [[Instance ID]].
  • OAuth access response: access_token, refresh_token, scope, instance_url (example "https://[[Instance ID]].salesforce.com/")

Endpoint URLs:

  • https://login.salesforce.com/services/oauth2/authorize
  • https://login.salesforce.com/services/oauth2/token

References:


Solution

  • ServiceNow does not provide another OAuth approach that does not require an Instance ID within its OAuth endpoint URLs. The Instance ID is a necessary component for authenticating and authorizing access to ServiceNow instances. The Instance ID is typically obtained during the setup process and is required for various tasks, including filling in connector setup forms and reviewing client-adapted ServiceNow instances.

    References: