The Barracuda Web Application Firewall can authenticate users configured on Keycloak Server using OpenID Connect.
Perform the following steps to configure Keycloak Server on the Barracuda Web Application Firewall:
Step 1 - Create an HTTPS Service on the Barracuda Web Application Firewall.
Step 2 - Generating Keycloak Server's Client ID and Client Secret
- Log into the Keycloak Server Administrator Console and provide administrator username and password.
- In the left pane, select Add Realm and specify the name of the realm. Example, Test.
- Select the realm that you added.
- Click Clients > Create to create a client. Example, adc-user. The client is displayed in the client ID column.
- Select the client that you created and configure Redirect URI for the client in the Valid Redirect URI box.
- Save the configuration.
Step 3 - Configuring Keycloak OpenID Connect provider on the Barracuda Web Application Firewall
- Navigate to ACCESS CONTROL > Authentication Services and click the OpenID Connect tab.
- In the Realm Name box, specify a name to identify the OpenID Connect.
- In the Open ID Connect Alias box, specify the OpenID Connect alias name to identify the OpenID Connect provider on the Barracuda Web Application Firewall. Example: Keycloak
- Choose Discovery URL as the mode to fill the end point URLs from metadata URL automatically.
Specify the metadata URL of the Keycloak Server OpenID Connect. Example, https://<KeyCloak OpenID server IP>/.well -known /openid -configuration
- Click Retrieve to display the end point URLs in the fields by default (except for client/clientsec).
- Configure the client ID and client secret that you obtained when registering the application with the Keycloak OpenID Connect provider.
- Click Add. The Keycloak OpenID Connect authentication service is displayed in the Existing Authentication Service section.
Step 4 - Configure the Authentication Policy for the Service
- Go to the ACCESS CONTROL > Authentication Policies page.
- In the Authentication Policies section, for the service to which you want to enable authentication, click the drop-down list and select Edit Authentication from the Options column.
- In the Edit Authentication Policies window, configure the following:
Set Status to On .
From the Authentication Service drop-down list, select the authentication service realm.
- Enter the redirect URL. Ensure that you use the same redirect URL that was configured on the Keycloak server. For example, if the redirect URL configured on the Keycloak server is https://www.oauthtest.com/redirect.html, you can use /redirect.html here.
The login page is selected by default in the Access Control Pages section.
(Optional) In the OpenID Connect Claim Configuration section, specify the claim name and local ID received from the identity provider that needs to be sent to the application server.
Click Save.
Step 5 - Configure the Authorization Policy for the Service
- Go to the ACCESS CONTROL > Authentication Policies page.
- In the Authentication Policies section, for the service to which you want to enable authorization.
- In the Add Authorization Policy section, configure the following:
- Policy Name – Enter a name for the policy.
- Set Status to On .
- URL Match – Enter the URL that needs to be matched in the request. For example “/*”
- Host Match – Enter the host name to be matched against the host in the request.
- Click Save.