Single sign-on (SSO) integration
Summarize
Summary of Single sign-on (SSO) integration
This guide explains how to integrate Single Sign-On (SSO) with CPQ for headless use cases such as embedding CPQ in websites or eCommerce platforms. Customers must complete an SSO Setup Request Form specifying their identity provider (IdP) to enable secure user authentication. CPQ supports OAuth2 with OpenID Connect (OIDC) but is not compatible with SAML. The process includes creating an app in the chosen IdP, sharing configuration parameters and user details with the CPQ team, and then testing the SSO flow.
Show less
Note that these steps are unnecessary if you are using CPQ with Salesforce.
Configuring Common Identity Providers
- Google SSO: Supports both personal and business Google accounts. Only user names and emails are required for setup.
- Okta SSO: Requires setting up an app that supports the Authorization Code flow. The redirect URL format is your CPQ URL followed by
/login/oauth2/code/and your Okta subdomain. You must provide client ID, client secret, redirect URL, Okta domain, and user information to the CPQ team who will complete provisioning. Email addresses used for authentication are case sensitive. - Microsoft Entra ID SSO: Register an application in Microsoft Entra ID with a redirect URI constructed by appending
/login/oauth2/code/and your subdomain with-entrato your tenant-specific CPQ URL. Ensure ID tokens are enabled. Capture client ID, client secret, and Authority URL (which must include/v2.0). You can optionally assign users via the Microsoft Entra portal. Provide all details and user info on the SSO Setup Request Form for provisioning by the CPQ team.
General Integration Notes
- CPQ supports any IdP that implements OAuth2 with OpenID Connect (OIDC).
- Users added before SSO implementation may need to be re-added.
- Client secrets must be securely shared with the CPQ team during setup calls.
- Email addresses serve as user identifiers by default and must be precise and case accurate.
- After setup completion, visiting your tenant-specific CPQ URL should redirect you to the IdP consent screen.
Troubleshooting
- Issuer URL mismatch: Ensure the issuer URL contains
/v2.0after the tenant ID and update the application manifest to setaccessTokenAcceptedVersionto 2. - Incorrect redirection to http://cpq.ai: Set
acceptMappedClaimsto true in the application manifest.
If you intend to use CPQ for a headless use case (such as exposing CPQ on a website or eCommerce platform), please fill out and submit an SSO Setup Request Form that details the identity provider (IdP) you are using for single sign-on (SSO).
This process involves:
- Creating an app for CPQ in your IdP tool of choice. See the steps and links below.
- Sharing parameters and users from the app with the CPQ team. The team will complete the provisioning process using the parameters that you send.
- Testing and confirming that the SSO redirect works as expected.
Note the following considerations:
- CPQ can now support SSO with any IdP that supports OAuth2 with OpenID Connect (OIDC).
- CPQ is not compatible with SAML.
- Your IdP client must be up to date.
- Users who have been added to CPQ before SSO was implemented may need to be added again.
- These steps are not required if you are using CPQ with Salesforce.
Configuring Google SSO
CPQ supports Google for both personal and business single sign-on. If you use Google IdP for identity verification, all we need are the names and email addresses of your users.
Configuring Okta SSO
To set up an application that supports the Authorization code flow for CPQ, start by following the Okta Developer instructions: Implement authorization by grant type: set up your app
For the redirect URL, specify your CPQ URL, append /login/oauth2/code/, and then append your -okta subdomain. So if your URL is example.test.cpq, your redirect URL would be
https://example.test.cpq/login/oauth2/code/example-okta.
https://{oktaDomain}/.well-known/openid-configuration. You should see a JSON file with information about the authorization server endpoints.When your CPQ point of contact has confirmed that setup is complete, try to visit your tenant-specific CPQ URL. You should see a redirect flow that brings you to an Okta consent screen to allow access to your CPQ app.
Configuring Entra ID SSO
Register an app by following the instructions on the following Microsoft Entra documentation website:
Register an application in Microsoft Entra ID
In the Redirect URI section of the Microsoft Entra registration page, in the Select a platform menu, select Web. For the redirect URI, enter your tenant-specific
URL, append /login/oauth2/code/, and then append <your subdomain>-entra. For example, if your URL is example.test.cpq, your redirect URI is
https://example.test.cpq/login/oauth2/code/example-entra.
Make sure to select ID tokens on the Authentication tab of your app. For more information about OIDC, see the following Microsoft Entra documentation website: OpenID Connect on the Microsoft identity platform.
/v2.0 at the end. You should be able to see the metadata and validate your
issuer URL by visiting it in a browser with /.well-known/openid-configuration appended to it. For example:
https://login.microsoftonline.com/c7dd9346-1cfc-4bd8-a34c-a066c8bc0477/v2.0/.well-known/openid-configuration.Optionally, add an app role for the users whom you wish to test with. For more information, see "Add a user account to your directory, and add that account to an appRole" on the following Microsoft Entra documentation website: Add sign-in with Microsoft Entra account to a Spring web app
On the SSO Setup Request Form, provide the client ID, Authority URL, and redirect URl together with user details (email, name) for the users you wish to test with. The CPQ team will schedule a brief call with you to obtain your client secret.
By default, each user’s emails will act as their identifiers, but it may be possible to use a different identifier in a user profile. The fields that can be used as identifiers are limited by what’s available at the
user_info endpoint defined in the well-known/openid-configuration URL described above. For more information about the user_info endpoint, see the following Microsoft Entra documentation website: Microsoft identity platform UserInfo endpoint.
Once your CPQ point of contact has confirmed that setup is complete, try to visit your tenant-specific CPQ URL. You should see a redirect flow that brings you to an Entra ID consent screen to allow access to your CPQ app.
| Issue | Resolution |
|---|---|
The issuer does not match the expected value. For example, the issue is sts.microsoft.net instead of login.microsoftonline.com. |
|
| Admin is redirected to http://cpq.ai, despite being set up correctly. | In your manifest, set the acceptMappedClaims parameter to true in your manifest. |
Configuring another IdP
CPQ can now support SSO with any IdP that supports OAuth2 with OpenID Connect (OIDC). In the SSO Setup Request Form, provide details about your preferred IdP tool and our team will connect with you to ensure it is properly integrated with CPQ.