Firezone supports Single Sign-On (SSO) using Keycloak through the generic OIDC provider. This guide will walk you through how to obtain the following config settings required for the integration:
- Config ID: The provider's config ID. (e.g.
- Label: The button label text that shows up on your Firezone login screen. (e.g.
- Scope: OIDC scopes
to obtain from your OIDC provider. This should be set to
openid email profile offline_accessto provide Firezone with the user's email in the returned claims.
- Response type: Set to
- Client ID: The client ID of the application.
- Client secret: The client secret of the application.
- Discovery Document URI: The OpenID Connect provider configuration URI which returns a JSON document used to construct subsequent requests to this OIDC provider.
Obtain Config Settings
In the Keycloak Admin Console, make sure the realm you want to use with Firezone is selected.
Create Firezone Client
Create a new Client for Firezone by navigating to Clients > Create Client and configure the following:
- Client type:
- Client ID:
- Click Next.
- Toggle Client authentication to
Onto generate the client secret.
- Click Save.
Click Access settings to jump to that section and configure the valid redirect URI:
- Valid Redirect URIs: This should be your Firezone
EXTERNAL_URL + /auth/oidc/<Config ID>/callback/(e.g.
- Click Add valid redirect URIs
Click the Credentials tab and copy the client secret.
Navigate to the Realm Settings page to get the Discovery Document URI by copying the OpenID Endpoint Configuration link at the bottom of the page.
Integrate With Firezone
Navigate to the
/settings/security page in the admin portal, click
"Add OpenID Connect Provider" and enter the details you obtained in the steps
Enable or disable the Auto create users option to automatically create an unprivileged user when signing in via this authentication mechanism.
And that's it! The configuration should be updated immediately.
You should now see a
Sign in with Keycloak button on the sign in page.