Connect to a Git provider using OAuth 2.0 with the ServiceNow IDE
Set up an OAuth 2.0 application registry and credentials to connect to your Git provider from the ServiceNow IDE.
Parent Topic:Integrating source control with the ServiceNow IDE
Related topics
Connect to a Git provider using basic authentication with the ServiceNow IDE
Configure a MID Server to use source control with the ServiceNow IDE
Initialize a Git repository with the ServiceNow IDE
Using source control in the ServiceNow IDE
Configure an OAuth 2.0 application registry for the ServiceNow IDE
Configure how the client ID and secret are sent to the OAuth 2.0 provider associated with your Git provider.
Before you begin
Create an OAuth application with your Git provider and configure it to redirect to your instance. In this OAuth application, use your instance URL as the homepage URL and https://<instance>/oauth_redirect.do for the authorization callback URL. GitHub, GitLab, Bitbucket, and Azure Repos are supported by default.
Important: For Azure Repos, the maximum length of the Client Secret field must be updated to 2048 before you add the secret.
- Navigate to All > System Definition > Tables.
- Filter the table by entering
oauth_entityfor the Name field. - Select the Application Registries [oauth_entity] table.
- In the Columns related list, locate the Client Secret column and enter
2048as the value of its Max length attribute. - Select Update.
Role required: admin
About this task
To use OAuth 2.0 authentication with the ServiceNow IDE, you must register the OAuth application you created from your Git provider. Follow this procedure to configure an OAuth application registry [oauth_entity] on your instance.
Procedure
Navigate to All > System OAuth > Application Registry and then select New.
On the interceptor page, select Connect to a third-party OAuth provider.
On the form, fill in the fields.
For additional information about fields on the form, see Connect to a third-party OAuth provider.
| Field | Description | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Name | A unique name for the third-party OAuth connection. | ||||||||||||
| Client ID | The client ID of the OAuth application in your Git provider. | ||||||||||||
| Client Secret | The client secret of the OAuth application in your Git provider. | ||||||||||||
| OAuth API Script | The script used to customize request and response to the external OAuth provider. Select one of the following depending on your Git provider:- GitHub: OauthAPIScriptForGitHub - GitLab: OauthAPIScriptForGitLab - Bitbucket: OauthAPIScriptForBitbucket - Azure Repos: OauthAPIScriptForAzureRepos Note: To use other Git providers, you can use these scripts as examples to create your own OAuth API script for your OAuth provider. The name of the script must begin with “Oauth”. | ||||||||||||
| Default Grant type | The default grant type used to establish the token. Select Authorization code.An authorization code is granted to the client to obtain an access token, which is then used to obtain access to the resource. | ||||||||||||
| Refresh Token Lifespan | The time, in seconds, that the refresh token is valid. | ||||||||||||
| Application | The application scope that contains this record. | ||||||||||||
| Accessible from | An option to make the application registry accessible from all application scopes or from this scope only. | ||||||||||||
| Active | An option for turning the OAuth application on or off. | ||||||||||||
| Authorization URL | The OAuth authorization code endpoint for your Git domain. For example:- GitHub: `https://github.com/login/oauth/authorize` - GitLab: `https://gitlab.com/oauth/authorize` - Bitbucket: `https://bitbucket.org/site/oauth2/authorize` - Azure Repos: `https://app.vssps.visualstudio.com/oauth2/authorize` | ||||||||||||
| Token URL | The OAuth server token endpoint for your Git domain. For example:- GitHub: `https://github.com/login/oauth/access_token` - GitLab: `https://gitlab.com/oauth/token` - Bitbucket: `https://bitbucket.org/site/oauth2/access_token` - Azure Repos: `https://app.vssps.visualstudio.com/oauth2/token` | ||||||||||||
| Redirect URL | The OAuth callback endpoint. If empty, the instance auto-generates a value of `https://| Use mutual authentication | An option to use mutual authentication. Leave this option cleared to turn off using mutual authentication for token request and revocation. | Send Credentials | The way in which the OAuth client populates the client credentials in the request. - For GitHub, GitLab, or Bitbucket, select As Basic Authorization header. - For Azure Repos, select In Request Body (Form URL-Encoded). |
What to do nextDevelopers using the ServiceNow IDE must configure their own OAuth 2.0 credentials. Configure OAuth 2.0 credentials to connect to a Git provider with the ServiceNow IDEConnect to a Git domain using OAuth 2.0 credentials to manage applications in source control from the ServiceNow IDE. Before you begin
Role required: admin Procedure
ResultYour Git credentials are associated with your user on the instance and used for all repositories in the domain from the Git repository URL. If you add different credentials for a repository in the same domain, the new credentials are used and the previous credentials are set to inactive. What to do nextAfter initializing or cloning a repository, you can begin using source control. For more information, see Using source control in the ServiceNow IDE. To manage existing Git credentials, use the |