--- title: "Keycloak" slug: "keycloak" description: "Securely and easily extract your Keycloak data with Dataddo. Create your Keycloak source with our customizable datasets and get your data flowing today." updated: 2026-07-07T06:46:50Z published: 2023-12-13T11:16:25Z canonical: "docs.dataddo.com/keycloak" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.dataddo.com/llms.txt > Use this file to discover all available pages before exploring further. # Keycloak **Keycloak** is an open-source identity and access management (IAM) solution. It provides a robust set of features for user authentication, authorization, and single sign-on (SSO) capabilities, allowing organizations to secure their applications and services by managing user identities, roles, and permissions in a centralized and scalable manner. Refer to our website for [the list of metrics and attributes available in Dataddo](https://www.dataddo.com/connector/keycloak). ## Authorization ### In Keycloak To authorize your Keycloak account, you will need your **server name**, **realm name**, **client ID**, and a **client secret**. Obtaining your client secret differs depends on the Keycloak version that you're using. Follow these steps for 1. [Keycloak version before 20](/docs/keycloak#old-keycloak) 2. [Keycloak version 20 and later](/docs/keycloak#new-keycloak) #### Keycloak Version before 20 To get your **client secret**, you need to make sure your client's access type is **confidential** and not public. 1. Go to the **Clients** section of your realm admin panel. ``` (://:/auth/admin/master/console/#/realms//clients/) ``` 2. On the **Settings** tab, change the **Access Type** to **confidential** and save. 3. A new tab called **Credentials** will show up, click on it. 4. Make sure the **Client Authenticator** field is set to **Client ID and Secret**. 5. Copy your **client secret**. Refer to Keycloak's official documentation for [more information on authorization](https://wjw465150.gitbooks.io/keycloak-documentation/content/server_admin/topics/clients/oidc/confidential.html). #### Keycloak Version 20 and Later 1. Go to the **Clients** section of your realm admin panel. ``` (://:/auth/admin/master/console/#/realms//clients/) ``` 2. Click on **Create client**. 1. Enter the **client ID** (a unique identifier for your client). 2. On the next page, set the **Client authentication** option to **On** and save. 3. Back on the **Clients** page, navigate to the **Credentials** tab. 4. Make sure the **Client Authenticator** field is set to **Client ID and Secret**. 5. Copy your **client secret**. Refer to Keycloak's official documentation for [more information on authorization](https://wjw465150.gitbooks.io/keycloak-documentation/content/server_admin/topics/clients/oidc/confidential.html). #### Client vs Realm **Realms** manage a set of users, credentials, roles, and groups. A **user** belongs to and logs into a realm. Realms are isolated from one another and can only manage and authenticate the users that they control. **Clients** are entities that can request Keycloak to authenticate a user. Most often, clients are applications and services that want to use Keycloak to secure themselves and provide a single sign-on solution. Clients can also be entities that only want to request identity information or an access token so that they can securely invoke other services on the network that are secured by Keycloak. ### In Dataddo 1. On the **Authorizers** page, click on [Authorize New Service](https://app.dataddo.com/service/new) and select Keycloak. 2. Fill in the following fields: 1. **Server**: Keycloak server name. 2. **Realm Name**: Keycloak realm name. 3. **Client ID**: Client ID you set in earlier step. 4. **Client Secret**: Client secret generated for your client. 3. Rename your ***authorizer*** for easier identification and click on **Save**. ## How to Create a Keycloak Data Source 1. On the **Sources** page, click on the [**Create Source**](https://app.dataddo.com/sources/new) button. 2. Select the connector from the list and name your ***data source***. 3. On the **Dataset** step, select your **dataset**. **DATADDO TIP** If you're unsure which dataset to select, use the search bar to look for datasets with the desired attributes or metrics. 4. On the **Account** step select your ***authorizer*** from the drop-down menu. **Didn't find your authorizer?** Click on **Add new Account** at the bottom of the drop-down and follow the on-screen prompts. You can also go to the **Authorizers** tab and click on [**Add New Service**](https://app.dataddo.com/service/new). 5. On the **Attributes and Metrics** step, select the **metrics and attributes** you want to extract. ![Create a source using a custom-schema connector.](https://cdn.document360.io/084ed225-3f99-4644-a2da-39ca0cd5ef45/Images/Documentation/Create%20Source%20-%20Custom-Schema%20Connector.png) 6. On the **Metadata** step, select which [**metadata fields**](/docs/metadata-inclusion) such as extraction time to add to your data. 7. On the **Snapshot** step: 1. Configure your [**sync frequency**](/docs/extraction#extraction-frequency) or click **Show advanced settings** to set the exact synchronization time. **DATADDO TIP** To **load historical data**, refer to the [**Data Backfilling**](https://docs.dataddo.com/docs/data-backfilling) article. 2. [Optional] Enable the **Allow Empty Data Extractions** toggle to allow the extraction when no data is available. 8. In the top-right corner, click **Test Data** button to preview extracted data. **Adjust the date range** for specific time frame. 9. Click on **Save** and **congratulations, your new data source is ready!** --- ## Troubleshooting ### Data Preview Unavailable No data preview when you click on **Test Data** might be caused by an issue with your ***source*** configuration. The most common causes are: - **Date range**: Try a smaller date range. You can load the rest of your data afterward via [manual data load](https://docs.dataddo.com/docs/data-backfilling). - **Insufficient permissions**: Please make sure your authorized account has at least admin-level permissions. ## Related Articles Now that you have successfully created a ***data source***, see how you can connect your data to a dashboarding app or a data storage. **Sending Data to Dashboarding Apps** - [Simple Data Integration to Dashboards](https://docs.dataddo.com/docs/simple-data-integration-to-dashboards) - [Data Backfilling to Dashboarding Apps](https://docs.dataddo.com/docs/data-backfilling-to-dashboarding-apps) **Sending Data to Data Storages** - [Batch Ingestion to Data Warehouses](https://docs.dataddo.com/docs/ingestion-to-data-warehouses) - [Data Backfilling to Storages](https://docs.dataddo.com/docs/data-backfilling-to-storages) **Other Resources** - [Troubleshooting](https://docs.dataddo.com/docs/troubleshooting) - [Extraction Logs](https://docs.dataddo.com/docs/extraction-logs) - [Data Duplication](https://docs.dataddo.com/docs/data-duplication) Authorizers act as credentials for external services (e.g. Facebook or Google). To enable Dataddo to access and retrieve your data, you need to grant access to accounts that possess admin-level permissions or higher within these services.