Client Integration
Clients can use the Finesse REST APIs in SSO mode. For thick client integrations, the following are browser like behaviors that thick clients must ensure to exhibit:
-
Follow server issued redirects.
-
Store and forward cookies.
-
Honor the various cookie attributes.
-
Execute JavaScript in HTML responses.
Procedure
Step 1 | Use the API to get the system's authentication mode. The authentication mode can be found in the response as the value of the systemAuthMode.
| ||
Step 2 | Use the Single Sign-On—Get User Authentication Mode to get a specific user's authentication mode.
| ||
Step 3 | Use the Single Sign-On—Get User Authentication Mode with the The username must be provided in a cookie or a URL query parameter with a key of cc_username. The value is a URL encoded username, which can be the loginName or peripheralId for whom the token is requested. Example: The result of the API request will redirect the request to the IdS page which then redirects to the IdP page. | ||
Step 4 | On the IdP page, enter the username and the password.
| ||
Step 5 | This step is for Unified CCE deployments only. In a Unified CCE deployment, the user_id obtained from the IdS token can be either the loginName or the peripheralId (loginId). The Finesse REST APIs can only accept the loginId. Use the User—Get User Id from loginName API to get the loginId from the user_id of the IdS token. Example: Example Response: | ||
Step 6 | Get the loginId from the loginId field. All subsequent Finesse REST API requests must use the loginId from the <User> response, instead of the username/user_id/loginName. Example: To login the agent sjefferson using the Finesse REST API, you must use the loginId of 98411. | ||
Step 7 | To avoid the authentication and authorization flow again, the access token must be refreshed before the expiry time. Use the Single Sign-On—Refresh Existing Access Token with the The username must be provided in a cookie or a URL query parameter with a key of cc_username. The value is a URL encoded username, which can be the loginName or peripheralId for whom the token is requested. Example Response: |