The final step in connecting the group to the Entra app was to configure the DriveWorks Live Integration Theme config file. Again, following the online DriveWorks help file we set the keys generated from the Entra app in the DriveWorksUserConfig.xml file.
While still only changing the development environment, the group was connected to the Entra app, the next task was to map the users. This is done inside the Pro Server application itself on the SSO Credentials form. Working our way down our company staff list alphabetically we mapped every DriveWorks user to the corresponding Entra user by simply selecting and saving users from the list. We were cautious performing this mapping as we did not want a situation where an Entra user was mapped to the incorrect DriveWorks user. For reassurance, we had a separate member of staff check the mappings. This did find one or two incorrectly mapped users a helpful reminder, that its always a good idea to have a separate person check your work!
At this point, SSO was set up and ready to go for anybody accessing the group via DriveWorks Administrator. However, it is only a small group of administrator staff who access the group in this way. The majority of the DriveWorks team use the front-end website, powered by the Integration theme. So the final task was building a login experience into this website to allow for SSO login.
Our strategy was to take the example code from the corporate website example and implement it into our existing site. The corporate website example was updated in 21.1 to showcase how SSO login can be implemented. We did make a few stylistic/UX tweaks to better suit our website. However, overall the logic to implement SSO in the client site is very straightforward, in fact, the actual JavaScript code is a one-liner when using the JavaScript Client SDK (.loginSSO())
Lastly, we gave this feature a thorough round of testing amongst a range of different user accounts, across different browsers. Once we were happy the feature was robust and working as expected, we repeated the same process in production. Albeit, not re-writing the website code but instead pushing the code from the development site into production.