Using Keycloak for Multifactor Authentication for CTE GuardPoints
Integration with Keycloak requires creating an OIDC connection in CipherTrust Manager, after you create an OIDC template in Keycloak.
Prerequisites
- 
Have a CipherTrust Manager set up with: 
- 
CipherTrust Transparent Encryption host and Keycloak server must have their time's synchronized. If they are not time-synced, then Multifactor Authentication login fails with the following error: Failed to verify ID Token: oidc: token is expired (Token Expiry: 2022-11-08 22:42:20 -0800 PST)
 
On the Keycloak platform
- 
Create an admin user. 
- 
Login to the realm and create one or more users. 
- 
Create a password for the user. 
- 
Create an OIDC client in realm with the following settings enabled: - 
Valid Redirect URIs: Configure in the format: http://127.0.0.1:<CTE-OIDC-Login-Port>/auth/callback
- 
Default value of CTE-OIDC-Login-Port: 5560, if CTE admin changes this port, they must provide the updated value. 
- 
General Settings: - 
Client Type: OpenID Connect 
- 
Client ID: Client name 
 
- 
- 
Capability Config: - 
Client Authentication: On 
- 
Authorization: On 
- 
Authentication Flow: Standard Flow 
 
- 
 
- 
- 
Note three OIDC parameters: - 
Provider URL format: - 
For non-TLS: http://<keycloak-ip>:<keycloak-port>/realms/<realm-name>/.well-known/openid-configuration
- 
For TLS: https://<keycloak-ip>:<keycloak-port>/realms/<realm-name>/.well-known/openid-configuration
 Note If KeyCloak is configured for TLS, the KeyCloak certificate (if self-signed), or certificate chain, including the root CA, and any intermediate CAs, must be imported into the CipherTrust Transparent Encryption client machine. Import the self-signed certificate as a root CA. CipherTrust Transparent Encryption will fail to connect to the provider if certificates are not imported. To import a certificate: see Importing Certificates Using MMC 
- 
- 
Client-ID as configured for the OIDC client 
- 
Client-Secret as shown for the OIDC client 
 
- 
Create an OIDC connection on CipherTrust Manager
- 
Log on to the CipherTrust Manager GUI as an administrator. 
- 
In the left pane, click Access Management > Connections. 
- 
In the Connections, click Add Connection. 
- 
Click OIDC and then click Next. 
- 
Provide a name for the connection and click Next. 
- 
Enter values for the configuration information. Note Refer to your Multifactor Authentication provider profile for the values: - URL of OIDC provider:
 - For KeyCloak, select the URL of the OIDC provider
 - 
For Thales SafeNet Trusted Access, select Well Known Configuration URL 
- 
For all other providers, select the URL of the OIDC provider 
 - 
Client-ID as configured for the OIDC client 
- 
Client-Secret as shown for the OIDC client 
 
- 
Click Next and in the Add Products window, select CTE for product. 
- 
Click Add Connection.