OAuth is a standard authorization protocol that provides access to a protected resource by using web tokens instead of passwords. With OAuth, resource owners can configure separate permissions for each client requesting access to the same resource and modify/revoke the access at any point of time.
Terminologies
To access a protected resource, the client should obtain an authorization grant from the resource owner and pass it on to the authorization server. The authorization server validates the authorization grant and generates an access token. The client can use this token to access the protected resource hosted by the resource server.
ServiceDesk Plus acts as the client that requests access and obtains the authorization grant from the user by using their credentials of the authorization server (for example, Microsoft Azure for Azure AD).
This authorization grant is processed through the authorization server to generate an access token. Using this access token, ServiceDesk Plus can access the Azure AD (Resource Server) to retrieve user data and authenticate the user to log in to the application.
|
Section |
Field |
Description |
|
OAuth Provider Details
|
Provider Name |
Register the authorization server by clicking Add New in the drop-down. If already registered under Admin > Users & Permissions > OAuth Providers, choose the required authorization from the drop-down.
|
|
Client ID |
If Add New is chosen, specify the Client ID, Authorization URL, and the Token URL generated while registering the application in the authorization server. Otherwise, these fields will be auto-populated. |
|
|
Authorization URL |
||
|
Token URL |
||
|
OAuth Feature Details
|
Scope |
Specify the scopes required to get the user's data from the Resource URL. The commonly used scopes are openid, profile, and email.
|
|
Client Secret |
Specify the client secret generated while registering the application in the authorization server. |
|
|
Specify the required key in the JSON response received from the Resource URL. This key will be used to identify the user during authentication. |
||
|
Mapped Property |
Choose the ServiceDesk Plus user field to which the User Property must be mapped. Use User Principal Name to map fields for users imported via AD. |
|
|
Resource URL |
Specify the API endpoint the client calls to get user data after getting the access token. You can obtain the information from the authorization server's REST API documentation. |
|
|
Redirect URL |
This field is auto-populated with the URL to which the user will be redirected after login. This URL cannot be edited. |
|
|
Additional Fields
|
Default Fields |
Configure field mapping to create user profile for dynamic users who log in to the application via OAuth SSO. • By using checkboxes, enable the required ServiceDesk Plus user fields under Default Fields and User-Defined fields. • For each enabled field, specify the relevant response JSON property. Note: • This configuration will not be used to update existing user profiles. • Date/Time and Multi-line fields are not supported during dynamic user addition. However, they can be synced via existing AD/LDAP sync. |
|
User-Defined Fields |
.png?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9kemY4dnF2MjRlcWhnLmNsb3VkZnJvbnQubmV0L3VzZXJmaWxlcy84NjYvMTQyNjIvY2tmaW5kZXIvaW1hZ2VzL3F1LzIwMjUvaW1hZ2UoNDcpLnBuZyIsIkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTc2NDI3NzQ4MH19fV19&Signature=PefnDvzGKRDy7D5cEnWlL2rx6EHbRVS1fkvrDlirPvUZagxZd6uhBE79dO7N28azxav5RNcIn7LaodBBuLRLT8DgcNke4VwGzURIcrW0YtbCDfxJ3gx3wvJsAXBgC2ytlEbvEAXb6vl4p-Yq-8H5yhsmiPGdr1q1v5SUd-H4nQfTRHcjaKzP4~rQYdoodE~lg72aD4wQanuVg~t3rv0foa~K9eBQiceGImLP5xZxXUjT3wuUdstAtj5QScnXldrqzUN7wy0v3I3ju9geyI3eY73h4QFU2wuk4maiRxBQtdCEPLXHpUjlRTFpVGzS8~M~yTQitQgMX2Hex9ftIPHkSg__&Key-Pair-Id=K2TK3EG287XSFC)
next to an OAuth configuration to edit or delete it. The login page after enabling OAuth single sign-on will be displayed as shown below:

Users can either log in by using the Local Authentication (enabled by default) or log in using OAuth by clicking the link of the required authorization server above the default login form.
|
Error Code |
Description |
Solution |
|
6 |
Authorization Code is null |
Ensure if ClientID, scope and Authorisation URL are correct. |
|
60 |
User not found (during email-based OAuth login) |
|
|
61 |
Login is disabled for the user. |
Enable login for the user. |
|
62 |
More than one user is configured with the login email ID. |
Ensure that the login email address is configured with only one user. This error is thrown if the login email ID is configured as a primary/secondary email address of another user. |
|
52 (In ServiceDesk Plus) |
Dynamic user addition is disabled. |
|
|
52 (In Asset Explorer) |
No such user exists in the application or the user is not a technician. |
Create a new technician manually with the received property or change the requester into a technician. |
|
3 |
Invalid client secret |
Ensure that the secret value is correctly copied from the provider (not the Secret ID) |