dFlow
Security and Team Management

SSO with Keycloak

Configure Keycloak as an OIDC SSO provider for dFlow.

Use this walkthrough to fill out Account → Single Sign-On → Add OIDC for Keycloak.

1. Create a client in Keycloak

  1. Open your Keycloak Admin Console.
  2. Select the realm your users belong to.
  3. Go to Clients → Create client.
  4. Set:
FieldValue
Client typeOpenID Connect
Client IDFor example dflow-sso (this is the OAuth client id, not the dFlow Provider ID)
Client authenticationOn (confidential client)
Authentication flowStandard flow (authorisation code). Enable Direct access grants only if you need them for other tools; dFlow does not require them.
  1. On Login settings, set Valid redirect URIs to:

    {your-dflow-url}/api/auth/sso/callback/<provider-id>

    Pick the Provider ID in dFlow first (for example acme-keycloak) so the URI matches exactly.

  2. Set Web origins to your dFlow origin, or + if your Keycloak version accepts that shortcut for valid redirect origins.

  3. Open Credentials and copy the Client secret.

2. Issuer URL

Keycloak issuer URLs follow:

https://<host>/realms/<realm>

Example: https://auth.acme.com/realms/acme

Confirm discovery works by opening:

https://<host>/realms/<realm>/.well-known/openid-configuration

3. Fill in the dFlow modal

FieldValue
Provider IDSame suffix as the redirect URI (for example acme-keycloak)
Email domainsDomains your Keycloak users sign in with
Issuer URLhttps://<host>/realms/<realm>
Client IDKeycloak client id from step 1
Client secretfrom Keycloak Credentials
Scopesopenid email profile
Token auth methodclient_secret_basic (switch to client_secret_post only if your realm requires it)
Use PKCEOn
Skip discoveryOff

Leave optional endpoints blank when discovery is reachable from dFlow.

4. Save and test

  1. Click Add provider.
  2. Sign out of dFlow.
  3. Enter an email on a registered domain.
  4. Complete Keycloak sign-in and confirm you return to dFlow signed in.

Tips

  • Users need an email attribute in Keycloak. Map it under Realm settings → User profile or client mappers if email is missing from tokens.
  • If Keycloak is on a private hostname that differs from the public issuer, add both origins under Trusted origins in dFlow when discovery and login hosts diverge.
  • For SAML realms or SAML clients, use Add SAML instead. See SSO with any OIDC or SAML provider.

On this page