PingOne (OIDC)
Prerequisites
Permissions required for registering and configuring an app in PingOne.
The account must have permission to manage applications in PingOne. Ideally the account should be in the Organization Admin role.
Implement Single Sign-On (SSO)
It is recommended to use two separate browser tabs for the Keycloak (K) and PingOne (P) portals to make it easier to apply the settings.
(K) Open a new tab in your browser and login to the target Spark tenant. Access the Keycloak console from the User menu.
(K) Login to the Keycloak Admin Console using your admin credentials.
(K) Click Identity Providers from the left pane.
(K) Expand the Add provider dropdown and choose OpenID Connect v1.0.
(K) Fill in values for the Alias and Display Name fields. The Alias should be a lowercase name without special symbols. Please note this Display Name will appear in the button on the Spark login page.
(K) Copy the Redirect URI value.
(P) In a second browser tab, sign in to PingOne.
(P) Click on Applications on the left pane.
(P) Click (+) to add a new application.
(P) Enter the Application Name.
(P) Select OIDC Web App for Application Type.
(P) Click Save.
(P) In Configuration click on the edit icon.
(P) Paste the edited Redirect URI into the Redirect URIs field.
(P) Select Token Endpoint Authentication Method as Client Secret Post.
(P) Click Save.
(P) In Configuration expand the URLs.
(P) Copy the OIDC Discovery Endpoint.
(K) Return to Keycloak. Paste the OIDC Discovery Endpoint into the OIDC Discovery Endpoint field.
(P) Switch to PingOne. Copy the Client ID.
(K) Return to Keycloak. In the Client ID field, paste the value copied in the previous step.
(P) Switch to PingOne. Copy the the Client Secret.
(K) Return to Keycloak. In the Client Secret field, paste the value copied in the previous step.
(K) Click Add.
(P) Switch to PingOne. Click on Attribute Mappings.
(P) Click Edit.
(P) Set the following mappings:
AttributesPingOne MappingsemailEmail AddressfirstNameGiven NamelastNameFamily NamegroupsGroup Names(P) Close the Application pane.
(P) Enable the toggle switch for the application.
(K) Return to Keycloak. Click on the Mappers tab and then click on Add mapper.
(K) Create 4 mappers with the following properties:
- KeyValue
Name
firstNameSync mode override
ForceMapper type
Attribute ImporterClaim
firstNameUser Attribute Name
firstName - KeyValue
Name
lastNameSync mode override
ForceMapper type
Attribute ImporterClaim
lastNameUser Attribute Name
lastName - KeyValue
Name
emailSync mode override
ForceMapper type
Attribute ImporterClaim
emailUser Attribute Name
email
Navigate to your Spark tenant and sign in using the newly created provider. There will be a button on the Keycloak login page with the display name defined earlier.
Configure PingOne groups to Spark user groups
It is recommended to use two separate browser tabs for the Keycloak (K) and PingOne (P) portals to make it easier to apply the settings. In this guide, we will setup the automatic roles for the tenant-admin role.
(P) In the first tab sign in to PingOne.
(P) Select Directory in the left pane and select Groups.
(P) Click (+) to add a new group.
(P) Enter
tenant-admininto Group name and click Save.(P) Click on the Users tab and then click on Add Individually.
(P) Select your test user and click Save.
(K) Open a new tab in your browser and login to the target Spark tenant. Access the Keycloak console from the User menu.
(K) Login to the Keycloak Admin Console using your admin credentials.
(K) Select Identity Providers from the left pane and then the identity provider you configured in the previous section.
(K) Select the Mappers tab and then Add mapper.
(K) Provide the following values.
NameValueName
tenant-adminSync mode override
forceMapper type
Advanced Claim to Group(K) Click Add Claims.
(K) Provide the following values:
KeyValuegroupstenant-admin(K) Leave Regex Claim Values as Off (which is the default).
(K) Click Select Group, choose
tenant-admin, then click Select.(K) Click Save.
Sign in into Coherent Spark with your test account. Click on your initials and hover over the groups icon to confirm your membership in
tenant-admin.We highly recommend creating at least a few additional groups relevant for Private tenants:
Group for
supervisor:pfuser accounts. In Spark,supervisor:pfmembers can manage permissions across all folders.Groups for "standard" user accounts, e.g.
user:teamA,user:teamB. These groups can be assigned to the users in your organization not responsible for tenant administration. Creating multiple groups for "standard" user accounts can be useful to separate access between teams.
Last updated
