Skip to content

Setting Up Authorization using OAuth v2 client credentials

OAuth v2 is the new version of the open protocol to allow secure authorization via a standard method from web, mobile, and desktop applications.

To use oAuth v2, you must first register an account with the web application as you will need the sign in credentials for that application to configure the settings for the Authorization Mechanism.

The Client Credentials grant type is used when applications request an access token to access their own resources, not on behalf of a user.

Configuring oAuth v2 Using Client Credentials

To configure this authorization method for your assistant, follow these steps:

  1. Open the assistant for which you want to configure an Authorization profile.
  2. From the left menu, click App Settings, then select Dev Tools > Authorization Profiles.
  3. Click New. The New Authorization Mechanism dialog opens.
    Auth profiles - Add

  4. In the Authorization Type drop-down list, select oauth v2 client credentials.

  5. In the Name field, enter the name for your authorization.

The following illustration shows the oAuth v2 fields that you must define to enable authorization for your assistant.

Fields to define for enabling auth

Please define the fields as explained in the following table:

FIELD NAME DESCRIPTION
Authorization Type Set to oAuth v2 Client Credentials.
Identity Provider Name The name of the web application or web service, for example, Asana. This field is required.
Client ID The ID of the Kore.ai client. The XO Platform accepts a maximum length of 255 characters.
Client Secret Key The value provided as the Kore.ai application authentication based on the Client ID to the web application. The XO Platform accepts a maximum length of 255 characters.
Token Request URL The URL used by the Kore.ai application to obtain an unauthorized request token. A request token is a value used by the Kore.ai application to obtain authorization from the end-user to obtain an access token. The XO Platform accepts a valid URL with a maximum length of 3000 characters. After end-user authorization, an access token can be requested by the Kore.ai application. This field is required.
Scope If the web service requires additional values for authorization, add one or more Key/Value pairs. For example, some web services support using a scope key using read-only, write, or both as the value.
Refresh Token URL Enter a Refresh Token URL, if required, for cases when the authentication token expires and has to be refreshed. The XO Platform accepts a valid URL with a maximum length of 3000 characters.
Description Enter a description for your authorization.

Authorization Fields

By default, authorization fields are configured as part of the header of the task request message. If your task request requires additional authorization fields or the expected authorization is not part of the header, for example, a verification code, click + Add Authorization Field and then define the fields as shown in the following illustration.

Authorization fields

  1. In the Field Type field, you can select one of the following depending on where in the task request message and the type of authorization fields that are required.

    1. Header – The VA expects the authorization fields as part of the header of the request.
    2. Payload – The VA expects the authorization fields as part of the content of the body of the request.
    3. Query String – The VA expects the authorization fields as a query in the body of the request.
    4. Path Param – The VA expects the authorization fields as part of the URL path for the request.
  2. In the Field Key field, enter the name of the field for the selected Field Type.

  3. In the Field Value field, enter the value for the Field Key specified.
  4. Click Done. The new authorization field is added in the Authorization Fields section.

Testing the Authorization

After you save the authentication, you can test your authorization definition on the Authentication page when you click Test before continuing to develop the remaining steps of your task. When you click Test, the test is executed using the authentication token URLs and the Client ID and Client Secret Key. If tenancy was defined, the Test Authorization dialog is displayed.

Click Test to begin the authorization test.

Testing the auth

When the validation of authorization is complete, the results of the validation, either success or failure, are displayed. If the authorization fails, the Auth Test Failed message is displayed along with the Headers and Response tabs as shown in the following illustration.

Auth test failed