Keycloak OpenID Connect Integration for Vodia PBX
Vodia PBX's integration with Keycloak offers enterprise-grade identity and access management. This allows for secure single sign-on, but requires that Keycloak user emails are created to match the corresponding extension email addresses on the PBX.
Keycloak Configuration
On your Keycloak server, you will need to:
Create a Client
- Navigate to Clients → Create client
- Set the Client ID to match your application requirements (e.g.,
vodia-keycloak)

Configure Client Settings
Set the following in your client configuration:
General Settings:
- Client type:
OpenID Connect - Client ID:
vodia-keycloak

Capability config:
- Client authentication:
ON(enables client secrets) - Standard flow:
ON - Direct access grants:
ON

Login settings: (use your tenant's FQDN)
- Root URL:
https://tenant.vodia.com - Valid redirect URIs:
https:/tenant.vodia.com - Valid post logout redirect URIs:
https://tenant.vodia.com/* - Web origins:
https://tenant.vodia.com

Get Client Credentials and client ID
- Go to the Credentials tab of your client
- Copy the Client secret value


Required Information
Make sure you have:
- The Keycloak server URL
- The client ID
- The client secret
Vodia PBX Configuration
On your Vodia PBX:
- Go to Tenant admin settings -> Single Sign On Login Settings
- Configure the Keycloak integration parameters
Example Configuration
{
"keycloak_address": "key.vodia-teams.com",
"keycloak_client_id": "vodia-keycloak",
"keycloak_client_secret": "your-client-secret-from-keycloak"
}
Configuration Details
- keycloak_address: Your Keycloak server
- keycloak_client_id: The Client ID you created in Keycloak
- keycloak_client_secret: The secret from the Credentials tab
User Management
Create Test Users
- In Keycloak admin console, go to Users → Add user
- Set the username (this should match the extension@tenant format for PBX access)
- Click Create
- Go to Credentials tab → Set password
- Set a password and turn off Temporary
tip
When creating Keycloak users, verify that their email addresses are identical to the extension email addresses on the PBX.
Result
You will then see a Keycloak login option when you navigate to the tenant web page.

Troubleshooting
Common Issues
"Client not found" error:
- Verify the client ID matches exactly
- Ensure you're in the correct realm
- Check that the client is enabled
Redirect URI mismatch:
- Verify the redirect URI in Keycloak matches your application's callback URL
- Ensure HTTPS is used in production
Authentication failures:
- Check user credentials
- Verify user is in the correct realm
- Ensure client authentication is properly configured