Identity broker
One of the developing elements in the security landscape is the need for external identity providers (IDP) for both authentication (login) and identification (registration). This might be required by law, by your business unit, or by user expectations.
Analysts have been predicting that Bring Your Own ID (BYOID) will surpass IDs that are provided by organizations. Digital wallets are relatively new to this spectrum. Both external IDs and digital wallets have the underlying principle that the user registers at the external IDP, has both authentication and identification taken care of once, and then can use this ID to quickly access your organization.
Regulators might also demand that businesses provide users with the option of using government or bank IDs.
For prospect logins, a social ID is often used, because users initially don’t want to provide strong identification. A social ID is a quick way to create a prospect login.
Organizations using homegrown solutions often struggle to integrate with external IDPs and incorporate them into their customer journeys. The challenge is not just technical. To be compliant and to continue using the external ID, organizations need a level of maturity and must provide compliance evidence annually.
Integrations with external IDPs
Due to the growing trend to allow users to choose their authentication method, it has become complex to maintain single-sign-on for users. The provider must individually integrate and manage every integration, which is cumbersome.
By acting as an intermediary service, the identity broker connects apps with different identity providers (IDP), so that administrators don't have to integrate every IDP into their apps.
The identity broker allows you to federate to an external IDP. In the OneWelcome Identity Platform, you configure which IDPs are available for user registration and login.
Examples of these federated logins include:
-
Social IDPs: Facebook, Google, LinkedIn, X (formerly known as Twitter)
-
Known IDPs: IDIN, eHerkenning, DigiD, Itsme, FranceConnect, EU-ID, Apple, Finnish Trust Network
-
IDPs using open protocols: SAML, OpenID Connect
-
Government-issued IDs or wallets (eIDs)
-
Enterprise IDPs: Microsoft Entra ID
When federating to an external IDP, the OneWelcome Identity Platform issues and signs the token as the main IDP.
To simplify the integration task, the OneWelcome Identity Platform provides out-of-the box integrations with several external IDPs.
Federation requests
The federation request allows the identity broker to identify the purpose of an IDP configuration.
Some external IDPs support two workflows, or purposes:
-
Authentication: You might require minimal information for user logins, such as a persistent identifier.
-
Identification: You might require additional information for the on-boarding or registration journey, such as the first name, last name, address, and so on.
An IDP can have two configurations, based on the purpose. The purpose is provided in the request to the identity broker, towards the external IDP.
Just-in-time user creation
User accounts are created in the identity store with the data that is received from the external IDP when a user requests access to a protected resource or application.
For example, when a user logs in via an external IDP, the OneWelcome Identity Platform uses the information that it received from the IDP to create the user account in the identity store. If updates to the user account are allowed, then each time the user logs in via the external IDP, their data is updated in the identity store.
Configure IDPs
IDPs are responsible for the authentication (login) and identification (registration) of users.
On the OneWelcome Identity Platform console, the identity broker allows you to configure which identity providers are available for user authentication and identification. The Identity Providers page lists any IDPs that have already been configured, and includes their name, type, and status. From here, you can edit, delete, or view the details about an existing IDP, or add a new IDP.
You can add the following types of identity providers:
- OpenID Connect (OIDC)
- Security Assertion Markup Language (SAML)
- eHerkenning, which is a SAML implementation that is available only for the Netherlands.
To access the identity broker on the console:
-
Log in to your OneWelcome Identity Platform and select your tenant, if required.
-
In the top-right of your browser, in the Applications menu, select Configuration.
-
On the left, select Identity broker and then select Identity providers.
OIDC identity providers
To configure the two-way communication between the OneWelcome Identity Platform and the external IDP, you need to configure settings in both the OneWelcome Identity Platform and the external IDP.
For the OneWelcome Identity Platform, you configure the settings on the console. For each IDP, you need to configure the following information in the identity broker module:
-
Basic information
-
Connection details
-
Federation requests
-
Attribute mappings
Configure OIDC basic information
-
On the Identity providers page, select Add identity provider, and then select OpenID Connect.
-
In the Basic information section, add a Display name.
The display name is used in the OneWelcome Identity Platform, but is not visible to your users.
-
(Optional) Add any Domain aliases.
Domain names are used to select an IDP when
acr_values
are not used to select the IDP and the authentication request to the identity broker contains alogin_hint
parameter with an email address as a value. -
(Optional) Add a Description.
-
Set the state of the IDP:
-
To make the IDP available to users after you save it, select the Active check box.
-
To allow you to save an incomplete configuration or to prevent the IDP from being available to users after you save it, clear the Active check box.
-
Configure OIDC connection details
Before you can configure the connection details, you need to get the following information from the external IDP:
-
Client ID: This is the OIDC application (client) ID that identifies the external IDP.
-
Client secret: The OneWelcome Identity Platform sends the OIDC shared secret to authenticate the request with the external IDP.
-
Well-known configuration endpoint: This URL can have different names in different IDPs, such as the OpenID Provider Configuration Document, Discovery Document URL, or simply Endpoint. If this URL doesn't exist in the external IDP, you manually configure the other endpoints in the OneWelcome Identity Platform.
The OIDC protocol requires that all potential redirect URIs are specified in an allowlist. The console lists all the redirect URLs that the identity broker might use. The domain specified in the authentication request determines the actual domain. Ensure that the redirect URI used in the authentication request is included in the allowlist in the external IDP that you are configuring.
-
In the Connection details section, enter the Client ID.
-
Select an Authentication method:
-
No Authentication
-
Private key JWT
-
Client secret post
-
Client secret basic
-
-
To enhance security with Proof Key for Code Exchange (PKCE), select the PKCE check box.
If the authentication method is No Authentication, PKCE is required and you cannot clear the check box.
PKCE mitigates the risk of interception and the misuse of authorization codes. The OneWelcome Identity Platform supports only the SHA-256 transformation method.
-
If the authentication method is either Client secret post or Client secret basic, enter the Client secret.
-
Enter the Well-known configuration endpoint and select Load.
When you load the well-known configuration endpoint, the Authorization endpoint, Token endpoint, Issuer, User information endpoint, and JWKs URI fields populate automatically.
If the external IDP doesn't have the well-known configuration endpoint, enter the following information:
-
Authorization endpoint: The user is redirected to this URL to authenticate.
-
Token endpoint: When authentication is successful, an authorization code is sent to this URL to obtain an ID token and an access token.
-
Issuer: The issuer string is used to validate the keys for the ID token signature.
-
(Optional) User information endpoint: This is a protected resource that provides information about a user. In an access token that was issued by your token endpoint, the scopes specify the user attributes that are returned in the response of the user information endpoint.
-
(Optional) JWKs URI: Returns the JWK when you use JWK for signature verification or encryption.
-
-
If you do not specify the JWKs URI, you must use certificates:
-
Under Identity provider signing certificate, select the certificate. To upload a new certificate, select Create new and upload the certificate.
-
Under Identity provider encryption certificate select the certificate. To upload a new certificate, select Create new and upload the certificate.
-
-
(Optional) To enable support for encrypted JWT, select the Encrypted JWT check box.
-
Select the type of key pairs to use:
-
Use generated key pairs
-
Use custom key pairs: Enter the Encryption key pair and optionally the Next encryption key pair.
-
-
Select the JSON web encryption algorithm for the identity provider to use:
- RSA_OAEP_256
- RSA_OAEP
- ECDH_ES
-
-
To ensure that logout requests are propagated to the identity provider to end the user's session, select Single logout, and then enter the End session endpoint URI.
Configure OIDC federation requests
Some external IDPs support two workflows:
-
Authentication: For example, authentication might require minimal information, such as a persistent identifier.
-
Identification: For example, you might require additional information for the on-boarding journey, such as the first name, last name, and address.
The federation request allows the identity broker to distinguish between those two purposes. An IDP can have two configurations, based on the purpose. The purpose is provided in the request to the identity broker, towards the external IDP.
-
Under Federation requests, select the Purposes that the IDP supports. You must select at least one purpose.
-
Authentication: For example, authentication might require minimal information, such as only a persistent user identifier.
-
Identification: For example, identification might require more information than authentication, such as the first name, last name, and address, which you might require for on-boarding.
-
-
For each purpose, enter an ACR Value.
The Authentication Context Class Reference (ACR) claim is the authentication level that is required.
-
Enter the Scope names for the user attributes that you need.
-
Enter the Claims for the user attributes that the scopes return.
Map OIDC attributes
Map the user attributes from the IDP to the equivalent user attributes in the OneWelcome Identity Provider.
The IDP sends user attributes as claims in the authentication response. Only mapped attributes are stored and sent to your services.
For example, the IDP might include the first name and last name in one field, whereas your organization splits them into two fields.
-
Under Attribute mappings, select the User identifier that identifies the user in the request.
-
To map additional claims from the IDP to user attributes in the OneWelcome Identity Platform, select Add attribute mapping.
-
Enter the Claim from IDP and select the equivalent OneWelcome attribute.
-
Repeat to add additional mappings.
-
Save your IDP configuration:
-
To save an incomplete IDP configuration or a draft that is not available to users, select Save draft.
-
To save the IDP configuration that is available to users, select Submit.
-
SAML identity providers
To configure the two-way communication between the OneWelcome Identity Platform and the external IDP, you need to configure settings in both the OneWelcome Identity Platform and the external IDP.
For the OneWelcome Identity Platform, you configure the settings on the console. For each IDP, you need to configure the following information in the identity broker module:
-
Basic information
-
Connection details
-
Federation requests
-
Attribute mappings
Configure SAML basic information
-
On the Identity providers page, select Add identity provider, and then select SAML.
-
In the Basic information section, add a Display name.
The display name is used in the OneWelcome Identity Platform, but is not visible to your users.
-
(Optional) Add any Domain aliases.
Domain names are used to select an IDP when
acr_values
are not used to select the IDP and the authentication request to the identity broker contains alogin_hint
parameter with an email address as a value. -
(Optional) Add a Description.
-
Set the state of the IDP:
-
To make the IDP available to users after you save it, select the Active check box.
-
To allow you to save an incomplete configuration or to prevent the IDP from being available to users after you save it, clear the Active check box.
-
Configure SAML connection details
The SAML connection details include the metadata file that the identity provider will use. You can either provide a URL for the metadata, or provide the metadata XML.
-
Select the Identity provider metadata:
-
To use a metadata file, select Dynamic from URL.
-
Enter the Metadata URL and click Load.
The Entity ID (identity provider), Entity ID (service provider), and Preferred binding fields populate automatically.
If these fields do not populate automatically, validate your metadata URL or manually update the fields.
-
-
To enter the metadata XML, under Identity provider metadata, select Static XML.
If certificates expire, you have to manually update them in the configuration.
-
Enter the Metadata XML.
-
Enter the Entity ID (identity provider).
-
Enter the Entity ID (service provider).
-
Select the Preferred binding type:
-
HTTP Post
-
Artifact
-
-
-
-
Select or add a Signing key pair that your organization uses for signing messages from the OneWelcome Identity Platform to SAML.
If you don't select a key pair, the OneWelcome Identity Platform generates one.
-
To add a signing key pair, under Signing key pair, select Add key pair.
-
Enter a Display name for the key pair.
-
Select the Private key and the Certificate, and then select Add key pair.
-
To add another key pair, under Next Signing key pair, select Add key pair.
-
-
To encrypt personal data that is sent to the OneWelcome Identity Platform, select the Encrypted assertion check box.
If you don't add a key pair, the OneWelcome Identity Platform generates one.
-
Select or add an Encryption key pair.
-
To add an encryption key pair, select Add Key Pair.
-
Enter a Display name for the key pair.
-
Select the Private key and the Certificate, and then select Add key pair.
-
To add another key pair, under Next encryption key pair click Add Key Pair.
-
-
To enable a mutual TLS connection for back-channel communication, select the Enable Mutual TLS check box.
If you don't add a key pair, the OneWelcome Identity Platform generates it.
-
Select or add a Mutual TLS keystore key pair.
-
To add a mutual TLS keystore key pair, select Add key pair.
-
Enter a Display name for the key pair.
-
Select the Private key and the Certificate, and then select Add key pair.
-
Select or add a Mutual TLS truststore certificate.
-
To add a mutual TLS truststore certificate, select Add certificate.
-
Enter a Display name, select the Certificate, and select Add certificate.
-
-
To ensure that logout requests are propagated to the identity provider to end the user's session, select the Single logout check box.
Configure SAML federation requests
Some external IDPs support two workflows:
-
Authentication: For example, authentication might require minimal information, such as a persistent identifier.
-
Identification: For example, you might require additional information for the on-boarding journey, such as the first name, last name, and address.
The federation request allows the identity broker to distinguish between those two purposes. An IDP can have two configurations, based on the purpose. The purpose is provided in the request to the identity broker, towards the external IDP.
Configure the federation requests that the identity provider will handle. You must select at least one type of federation request.
-
Set the Maximum authentication age.
The maximum authentication age describes how flexible the response is compared to the authentication instance in minutes. It should be at least three minutes or left empty.
-
Select the Outbound communication method:
-
GET
-
POST
-
-
Select the Purposes that the IDP supports. You must select at least one purpose.
-
If you need only minimal information for logins, select Authentication:
-
If you need additional information for registration, select Identification.
-
-
To force users to authenticate at the identity provider, even if they have an existing session, select Force authentication.
-
To specify which authentication method to use at the external identity provider, enter the Authentication context class reference.
-
Set the Authentication context comparison value, which is the authentication level that is required:
-
Minimum
-
Exact
-
Maximum
-
Better
-
Map SAML attributes
The identity provider sends user attributes as claims in the authentication response. Configure the attribute mapping from the IDP to your organization. Only mapped attributes are stored and sent to your services.
-
Click Add attribute mapping.
-
Enter the Claim from IDP and the equivalent OneWelcome attribute to map attributes between the identity provider and the OneWelcome Identity Provider.
Repeat this procedure for each identity provider claim that you want to map to a OneWelcome Identity Provider attribute.
-
Save your IDP configuration:
-
To save an incomplete IDP configuration or a draft that is not available to users, select Save draft.
-
To save the IDP configuration that is available to users, select Submit.
-
eHerkenning identity providers
The eHerkenning IDP is a SAML implementation that is relevant only for the Netherlands. It follows the procedure for adding a SAML IDP, except some values are preset.
-
On the Identity providers page, select Add identity provider and select eHerkenning.
-
Follow the steps for SAML IDPs.