Configure client credential flow for SMTP OAuth2 using certificate-based authentication
Configure an OAuth application profile to authenticate using certificates for outbound email.
Before you begin
Create an Microsoft Azure account to configure an OAuth profile.
Complete the setup steps using your Microsoft Azure Developer account. See Microsoft Azure product documentation for instructions on creating and configuring custom applications.
Role required: Microsoft Azure portal administrator and admin
Procedure
Log in to the Microsoft Azure registration profile with your organization credentials.
For more information, see the Microsoft Azure registration portal documentation.
Register a new custom application by filling in the application name, supported account type, and redirect URL, and then select Register.
Note: Enter the redirect URL in the following format:
https://<instance>/oauth_redirect.do.An overview of the application's basic information is displayed.
Copy the client ID to a text file.
You’ll use this client ID and the secret value generated in the next steps to register the app as a third-party OAuth provider on your ServiceNow instance. You use the application ID as the client ID when you connect the application to ServiceNow.
Enable the SMTP.SendAsApp permission.
In Microsoft Azure, navigate to Manage > API permissions.
Select Add a permission.
Select the Microsoft Office 365 tile.
Select Application Permissions.
In the Select permissions field, enter
SMTP.SendAsApp.Select the SMTP.SendAsApp check box.
Select Add permissions.
Select Grant admin consent for <organization name>, then select Yes to confirm.
Upload the certificate.
In Microsoft Azure, navigate to Manage > Certificates & secrets.
Select upload certificate.
Provide a description, a start date, and an expiration date, then upload the certificate.
Copy the client ID and directory ID to a text file.
Register service principals in Microsoft Exchange using PowerShell.
Run the following commands.
Install-Module -Name ExchangeOnlineManagement -allowprerelease Import-module ExchangeOnlineManagement Connect-ExchangeOnline -Organization <tenantId>For more information, see Authenticate SMTP connection using OAuth
Register an Microsoft Entra ID application's service principal by running the following command.
New-ServicePrincipal -AppId <APPLICATION_ID> -ObjectId <OBJECT_ID>Important: For the OBJECT_ID value, go to Overview > Managed applications in local directory and copy the Object ID.
Add permission to user email ID using the following command.
Add-MailboxPermission -Identity "<email_id>" -User <object_id> -AccessRights FullAccess
Navigate to Overview > Endpoints and copy the OAuth 2.0 token endpoint (v2) to a text file.
You use the OAuth 2.0 token endpoint (v2) when configuring a JWT provider. For more information, see Configure a JWT provider.
What to do next
- Configure a JWT provider
Configure a JWT provider on the ServiceNow AI Platform to configure an OAuth application profile to authenticate using certificates. - Generate a SHA-1 thumbprint
Generate an SHA-1 thumbprint using the JWT provider's sys_id, the Java Key Store (JKS) certificate's sys_id, and the JKS certificate's alias to the GraphCertificateOAuthTemplate script. - Create an OAuth API script
Create and duplicate an OAuth API script for application registry.
Parent Topic:Sending email using client credential flow