Shelf SAML Single Sign-On with SCIM: Okta Setup Guide
Document details
Document version history
Version number | Modified by | Modifications made | Date modified | Status |
1.0 | Shelf | Initial release of the document. | 7 Feb 2022 | Expired |
1.1 | Shelf | Changes and updates to the document to bring it to compliance to Shelf’s documentation standards. | 28 Jul 2022 | Expired |
1.2 | Shelf | Multiple changes, additions, and corrections to the document to reflect the current state of the Shelf and Okta integration. | 14 Dec 2023 | Expired |
1.3 | Shelf | Major update to the document to bring it to compliance with Okta's documentation style guide and requirements. | 29 Oct 2024 | Active |
Document purpose
This document describes the required steps to enable and configure Single Sign-On to Shelf via Okta. This feature will help you and your users authenticate yourselves and access your Shelf resources via Okta, without the need to use several sets of credentials.
Glossary
Term | Definition |
Shelf KMS | Shelf Knowledge Management System, an AI-enabled content creation, storage, and management platform that helps businesses keep their information up-to-date, streamline workflows, enhance decision-making, and expedite content creation. Shelf KMS provides a seamless search journey with naturally intuitive interactions to make finding content easy. This ease of search achieves enterprise-level findability backed by AI. |
SSO | Single Sign-On, a technology which combines several different application login screens into one. With SSO, a user only has to enter their login credentials (username, password, etc.) one time on a single page to access all of their SaaS applications. |
SAML | Security Assertion Markup Language, an open standard used for authentication. Based upon the Extensible Markup Language (XML) format, web applications use SAML to transfer authentication data between two parties - the identity provider (IdP) and the service provider (SP). The technology industry created SAML to simplify the authentication process where users needed to access multiple, independent web applications across domains. |
SCIM | System for Cross-domain Identity Management, an open standard-based protocol that allows for a secure automation of the exchange of user identity data between your company’s cloud applications (like Shelf KMS) and any service providers (like Okta). It manages user identity data so that all the operations related to user adding, editing, deleting etc. |
JIT | Just in Time (JIT) Provisioning is used to create users the first time they log in to an application via a third-party identity provider. JIT provisioning eliminates the need to provision users or create user accounts manually. This saves effort and time. JIT Provisioning is independent of the SSO protocol used by the application but it’s vital to note that for this approach to work, the web application must support JIT Provisioning. |
Prerequisites
- You must have the Admin user role in Okta
- You must have the Admin user role in Shelf
- Enterprise Single Sign-On feature must be enabled for your Shelf account.
Supported features
Once installed and configured, Shelf integration in Okta is expected to support the following features:
Service provider(SP)-initiated SSO
Identity provider(IdP)-initiated SSO
JIT provisioning (for non SCIM scheme).
When SCIM is enabled for Shelf Okta SSO integration, the following features are expected to be supported:
Adding users
Updating user attributes
Managing users
Deactivating users
Adding user groups
Importing users
Importing user groups
Pushing users
Pushing user groups
Configuring SP-initiated SSO for Shelf
Creating Shelf app in Okta
- Log in to your Okta account using your valid credentials.
- Once on the Okta homepage, find and select the Applications menu in the navigation panel.
- In the Applications menu, select the Applications option and then click the Create App Integration button as shown in the figure above.
- In the popup window that appears, select the SAML 2.0 option for your new Shelf app integration and click Next.
- In the next window, indicate the name for your new app integration and upload an image to be displayed to your users as the app icon in Okta. You can also upload the image but choose not to show it to the users.
- Once you have entered the name and added an icon for your Shelf app integration, click Next to get to the further configuration screen.
- In this screen - Configure SAML, you need to enter Single Sign-on URL and Audience URI. To get these values, you have to go to your Shelf KMS account, navigate to Admin Panel, and open the Single Sign-On menu. In the SSO Provider field, select the Custom SAML option and you will see the Shelf SSO Settings block containing the needed values.
- Copy the Single Sign-on URL (1) and Audience URI (2) values from Shelf and paste them into the respective fields in Okta. Following that, select the needed options for the Name ID format and Application username fields. The suitable options are Unspecified or EmailAddress for Name ID format and Okta username or Email for Application username.
- Next, click the Show Advanced Settings button and make sure these advanced settings fields are populated as shown in the figure below.
- Once completed in this block of settings, scroll down to the Attribute Statements (Optional) block and make sure that its content is populated as shown in Figure 8 below.
After completing the above steps, click Next to proceed to the last stage of the SAML configurations in Okta.
Figure 9. Completing the final step of SAML configuration in Okta
At this stage, indicate that you add an internal app and that this internal app has been created by you. Click Finish to complete the SAML configuration in Okta.
Once done, you will be redirected to your Shelf app page in Okta
If what you see is similar to that shown in the figure above, it means that you have successfully created Shelf app in Okta and completed general SAML configurations there. Now, you need to instruct the Shelf KMS SSO feature on how to work with Okta and enable the Single Sign-On feature on the Shelf side.
Configuring SSO in Shelf with Okta SSO details
- Once on the Shelf app page in Okta, click the View SAML setup instructions button (see Figure 10 above).
- On the page that appears, view and copy the needed OKTA SSO details. Save them locally to a file for the next stage of configurations.
- Go to your Shelf instance, open Admin Panel, navigate to the Single Sign-On menu, expand the SSO IDENTITY PROVIDER SETTINGS block, and populate the fields there with the details you have copied from Okta to the local file. Use the following schema for this:
Identity Provider Single Sign-On URL (Okta) > IdP SSO Sign-on URL (Shelf)
Identity Provider Issuer (Okta) > SSO Issuer (IdP Entity ID) (Shelf)
X.509 Certificate (Okta) > X.509 Certificate (Shelf)
Once done, click SAVE.
Enabling SSO in Shelf
Adding users to Shelf app in Okta
- Go back to your Okta Admin page, navigate to the Applications menu, select the Applications option under it, and then find your Shelf SSO app you have recently created and configured. Open it.
- On the Shelf app page that appears, navigate to the Assignments tab and then open the Assign dropdown menu. Select the Assign to People option.
If you need to add a group of persons—e.g. your organization’s business unit, department, or team—as users who are permitted to use the Shelf SSO app in Okta, select the Assign to Groups option. - In the popup window that opens, find the needed user (in our case—yourself) and click the Assign button next to it.
In the next window, make sure you have selected the right user. If yes, click Save and Go Back.
Figure 17. Confirming user
- Click Done. You are redirected to the Shelf app page > Assignments tab, where you can make sure the needed person—you—is listed as the user assigned for the Shelf app.
Logging in to Shelf via Shelf-initiated SSO for Okta
- Navigate to the Shelf web application, considering the geography and domain:
https://yourcompanyaccount.shelf.io/
https://yourcompanyaccount.shelf-eu.com/
https://yourcompanyaccount.shelf-ca.com etc.
After you hit Enter on your keyboard, you can expect to see the following screen. - Click Sign In with SSO and log in using your Okta credentials (username and password) to access your Shelf account.
If your credentials are correct, you are logged in to your Shelf account and get to the Shelf KMS homepage as shown in the figure below.
Configuring IdP-initiated SSO for Shelf
This chapter will guide you in configuring the IdP-initiated Single Sign-On method for Shelf with Okta as the initiating IdP. Once you complete all the configurations described here, you will be able to visit an Okta provided link, authenticate, and then be logged into your Shelf instance.
Creating Shelf app in Okta
Perform Steps 1-10 laid down in the Creating Shelf app in Okta section of the Configuring SP-initiated SSO for Shelf chapter.
Configuring SSO in Shelf with Okta details
Enabling SSO in Shelf
Activate the SSO feature in your Shelf instance as described in the Enabling SSO in Shelf section of the Configuring SP-initiated SSO for Shelf chapter.
Adding users to Shelf app
For adding users to the list of those who are permitted to use the Okta-initiated SSO method to sign in toctheir Shelf accounts, perform steps described in the Adding users to Shelf app in Okta section of the Configuring SP-initiated SSO for Shelf chapter.
Logging in to Shelf via Okta-initiated SSO
Testing Shelf login from Okta
- Once on the Shelf app page in Okta, navigate to the General tab and scroll to the App Embed Link section. Copy and save the Embed Link value. This is the link a user needs to visit to begin the IdP initiated SSO, so you could place it in your application’s navigation, launchpad, or elsewhere.
- Open an incognito (private) browser window or tab and in the address field, enter the Embed Link value you have copied and saved in Step 1 above. Press Enter on your keyboard to open the URL. Log in with your Okta IdP credentials.
If all the IdP-initiated SSO settings have been configured properly, you are redirected to the homepage of your Shelf instance.
Signing in to Shelf from Okta End-User Dashboard
If the test login described above was successful, it means that non-Admin end users added to the Shelf app in Okta will be able to sign in to their Shelf accounts directly from Shelf app on the Okta End-User Dashboard.
Setting up SCIM for Shelf
Enabling SCIM in Shelf
Enabling and configuring SCIM in Okta
- Log in to your Okta account and on the Okta Admin homepage, navigate to Applications > Applications in the menu.
- Find and open the Shelf app.
- Once on the Shelf app page, go to the General tab and, in the App Settings block, click Edit.
- Following that, select the Enable SCIM provisioning checkbox for the Provisioning option. Click Save.
- Now open the Provisioning tab that has just been added. Find and click the Edit button in the open tab. Once in the editing mode, fill in the highlighted fields with the relevant values. Most of these values you need to take from the SCIM tab of the Single Sign-On menu in Shelf.
Make sure to comply with the following legend of entering Shelf SCIM values into Okta.SCIM Base URL (Shelf) > SCIM connector base URL (Okta)
SCIM Bearer Token (Shelf) > Authorization Bearer (Okta)
Also, set the Unique identifier field for users value to userName, and the Authentication Mode value to HTTP Header. - Once all the details are entered, click the Test Connector Configuration button (Figure 30 above) to test the SCIM connection. If no errors occur, click Save.
- Go back to the Provisioning tab on your Shelf app page in Okta. Select the To App option in the left menu and then set the values in the Provisioning to App window as shown in Figure 30 below.