PingID Single Sign-On
To set up a single sign-on (SSO) with the PingID provider, you must create two applications in your PingID environment:
- OAuth2 Worker application for authentication and group synchronization
- SAML application for users’ SSO
Order
Make sure to perform the following actions in the correct order, otherwise you might disable your existing authentication to your SAFEQ Cloud tenant. These steps are:
- Set up the authentication provider in SAFEQ Cloud using a PingID Worker application.
- Perform group synchronization for your PingID authentication provider.
- Create Access Control records for the imported groups. Make sure that you will retain an administrative role in SAFEQ Cloud when you log in using your PingID identity. You must create access control records with the Administrator role for the group where you are a member.
- Set up SAML SSO for your SAFEQ Cloud tenant.
OAuth2 Configuration
Authentication to PingID is done via the PingID OAuth Worker application.
Group synchronization with PingID is done via OAuth2 authentication of a user with administrative privileges for the Worker application.
Creating the Worker application
- Log into your PingID environment. Go to Applications and click + to create a new application.
- Enter the Application Name , an optional Description , and select Worker as the Application Type.
- Click Save .
Configuring the Worker application
- Once saved, select the Configuration tab, and click the pencil icon to edit it.
- In Response Type, select Code.
- In Grant Type, select:
- Authorization Code. Also, in the PKCE Enforcement field, select OPTIONAL.
- Refresh Token.
- Disable (uncheck) the Client Credentials grant type.
- In Redirect URIs, enter the following:
-
http://127.0.0.1:7311/oidc/callback
This redirect address is essential for the SAFEQ Cloud Client to work correctly with PingID authentication.
https://<your SAFEQ Cloud domain>/callback/ping
-
- In Token Endpoint Authentication Method, select None.
- Click Save.
Selecting Resources
- Once saved, click the Resources tab, then click the pencil icon to edit it. Enable the following scopes:
- email (OpenID Connect)
- profile (OpenID Connect)
- Click Save.
Mapping the attributes
- Once saved, click the Attribute Mappings tab, then click the pencil icon to edit. You should see one Attribute Mapping — sub = User ID.
- Change this mapping to sub = Username.
- Click Save.
Removing roles
- Once saved, select the Roles tab. If there are any Roles listed, click the Trash icon to delete them, and Save once all are removed. If none are listed, proceed to the next step.
For security reasons, it is essential to remove all roles from this application. This will restrict the ability to use the application without an OAuth2 token. OAuth2 token is more secure because it is not stored anywhere and acquired only in interactive mode.
Enabling the Worker application
- Click the Overview tab and click the slider in the top-right corner to enable your application. This will automatically save it.
- Leave this page open as you will need access to some of the application IDs displayed there.
Configuring the PingID Authentication provider in SAFEQ Cloud Web UI
Now that the configuration on the PingID side is complete, proceed to register and configure the Authentication Provider in SAFEQ Cloud.
- Log into SAFEQ Cloud Web UI and go to Authentication.
- Click Add to add a new provider.
- In Type, select Client (OAuth2).
- In Name, enter the Authentication provider name.
- In Domains, list all of the domains present in your PingID environment that will need to authenticate to SAFEQ Cloud. For example, to allow user john.doe@acme.com to log in via this Authentication provider, enter the acme.com domain here.
- In Identity provider, select Ping OAuth 2.0.
- In Custom application ID, paste the Client ID from your PingID application Overview tab.
- In Ping environment ID, paste the Environment ID from your PingID application Overview tab.
- Ping region is the region in which your PingID environment is registered. You can determine it from your PingID Console URL which is in the format of
https://console.pingone.[region].
Alternatively, you can find it in any of the URLs listed under your PingID OAuth application Configuration tab such ashttps://auth.pingone.[region]/[client]/as/authorize
- In Callback domain for custom application, enter the SAFEQ Cloud tenant address you used as the Redirect URI in your PingID OAuth application configuration.
- Click Save.
For more details on the available options for OAuth2 authentication, see Client authentication.
Synchronizing groups
After creating and saving your new Authentication provider, you can perform group synchronization, which will allow you to manage Access Control of your SAFEQ Cloud tenant via PingID group membership.
To synchronize groups perform the following steps:
- In SAFEQ Cloud Web UI Authentication section, click the Edit icon for your PingID provider.
- Click SYNC GROUPS.
- You will be redirected to the PingID login page.
- Log in with an account that has permission to read groups and follow the on-screen instructions. When the form closes, group synchronization is complete. For more details, see Client authentication, section Sync groups.
- You will now be able to search for PingID groups on the SAFEQ Cloud ">Access Control page. For more details, see Access Control.
SAML Configuration
The redirect URL for the PingID SAML application is https://<your SAFEQ Cloud domain>:8443/assertion/saml
. For example, https://acme.eu.ysoft.cloud:8443/assertion/saml
. The port is either 8443 or 443 in environments with reverse proxy infrastructure.
- To create a SAML application, log into your PingID environment and go to Applications. Click + to create a new application.
- Enter the Application Name , and an optional Description. Select SAML Application as the Application Type.
- Click Configure .
- In Provide Metadata Configuration, select Manually Enter, and add the following:
- In ACS URL, enter
https://<your SAFEQ Cloud domain>:8443/assertion/saml
. The port is either 8443 or 443 in environments with reverse proxy infrastructure - In Entity ID, enter a unique identifier for this application. We recommend you to use your SAFEQ Cloud tenant address.
- In ACS URL, enter
- Next, click the Attribute Mappings tab and create attribute mappings as per the following table. Be aware that it is likely PingID will default the attribute saml_subject to User ID . You must change it to Username.
Attributes PingOne Mappings saml_subject Username fname Given Name group_membership Groups IDs group_membership_names Group Names lname Family Name - Once the attribute mappings are complete, enable the application using the slider in the top right of the page.
- Click the Configuration tab of your SAML application and copy the IDP Metadata URL .
- Log in to SAFEQ Cloud Web UI and go to Authentication > Single sign-on.
- Paste the IDP Metadata URL into the SSO XML metadata URL field.
- The SSO issuer ID must be the same string that you entered as the Entity ID in your PingID application configuration.
- Set SSO method to SAMLv2.
- Click Save.
- Test your SSO by opening the SAFEQ Cloud Web UI login page. This will redirect you to the PingID authentication page. Log in with any user account from your PingID environment.
Every time a user logs into SAFEQ Cloud using SAML SSO, their given/family names and group membership will be synchronized from PingID.