...
...
...
Overview
The project's primary purpose was to develop a backend module that gets SSO(Single Sign On) Token from Cisco IDS and passes that token to the agent for their XMPP subscription and calls all cisco finesse APIs.
Prerequisites
The following are the mandatory prerequisites for a smooth installation.
...
Item | Notes |
Docker | |
Docker Compose | |
Git Client | https://www.rosehosting.com/blog/how-to-install-git-on-centos-7/ |
Deployment Steps
Run Utility as a Docker Container
Pull the latest release of SSO Utility from gdrive and extract the zip folders.
run the following command in Linux server
mkdir –m777 SSO_utilitythis will create the SSO_utility directory.
use cd command to go into the SSO_utility directory
cd SSO_utilityupload the extracted files into this directory.
Edit your environment variable file.
now run deploy.sh file using the following command:
bash deploy.sh
and you can see after completion your docker image is runningif you see any permission denied error kindly run the following command and after that run step 7 again
Add Permission
Code Block language bash cd .. chmod -R 777 SSO_utility cd SSO_utility
Run Utility as a Windows Service
Pull the latest release of SSO Utility Service from gdrive and extract the zip folders into some directory and follow the step to run the service in windows as a service:
...
navigate to the directory where you have extracted the utility.
Edit your configuration file.
open the windows PowerShell/ cmd as administrator, navigate to the directory where nssm.exe, scheduling-tasks-0.0.1-SNAPSHOT.jar and run.bat files are placed.
run the .\nssm.exe install SSO_Utility command.
windows popup will appear, select the path of run.bat file.
Click install service and close the PowerShell/ cmd
open windows services settings, search for SSO_Utility, and open that service.
check startup type is Automatic or not, if not select Automatic.
then press the start, and the extension module will be up in the background.
Edit Configurations
open the environment-variable.env file using vi or vim command as mentioned bellow:
...
environment-variables.env Name | application.properties Name | Default Value | Description |
---|---|---|---|
ids1_url | IDS_URL | https://<CCX_Host>:8553/ids/v1/ | change the IP of your IDS server machine |
redirect_base_uri | REDIRECT_URI | https://<server_ip>:<server_port>/idscallback | change IP and port of your server application where sso utility is deployed. |
client_id | CLIENT_ID | <IDS_Client_ID> | client_id you get from IDS while registering your application is on IDS. |
serverports | server.port | <https_port> | https port on which your utility will work. |
serverport | server.http.port | <http_port> | HTTP port on which your machine will work |
allowedOrigins | allowedOrigins | * | CORS allow |
keystoretype | server.ssl.key-store-type | PKCS12 | https certificate type. |
keystorepassword | server.ssl.key-store-password | password | certificate password |
keyAlias | server.ssl.keyAlias | springboot | name of the certificate file |
keystorepath | server.ssl.key-store |
| |
ssl_enabled | server.ssl.enabled | true | to enable SSL port. |
Info |
---|
Note** IF you want to change certificates, then use Deploy Creating Local Image, replace your certificate files in the cert folder, and update the environment-variable.env file. |
Register Your Application on IDS
Navigate to the Identity Service Management console by going to:
https://<your_CCX_Host>:8553/idsadmin
Login using the Cisco UCCX/UCCE application user credentials.
Select the Clients icon on the left side of the navigation.
Click on the New button on the upper right-hand side.
Fill the form
Enter a unique name for the client (partner application).
Enter one or more redirect URLs to which the authorization code has to be delivered.
https://<utility_server_Host>:<utility_port>/idscallback
Click the '+' button on the right of the input field.
Add multiple IPs if you have deployed multiple SSO utility instances.
Click the Add button to add the client
you can see the client_id in the second column of clients table
Verification Test
Call the following API to test if the utility is working and your configuration are updated.
Request | URL | Response Code | Response Body |
---|---|---|---|
GET | https://<ServerIP>:<ServerPort>/testbackend | 200OK | system is working fine |
...