---
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: 2023-12-13T11:16:25Z
published: 2023-12-13T11:16:25Z
---

> ## 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){target="_blank"}.

## 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)

<h4 id="old-keycloak">Keycloak Version before 20</h4>
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.
    ```
    (<protocol>://<host>:<port>/auth/admin/master/console/#/realms/<your realm>/clients/<your client code>)
    ```
2. On the **Settings** tab, change the **Access Type** to **confidential** and save.
4. A new tab called **Credentials** will show up, click on it.
5. Make sure the **Client Authenticator** field is set to **Client ID and Secret**.
6. 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){target="_blank"}.

<h4 id="new-keycloak">Keycloak Version 20 and Later</h4>
1. Go to the **Clients** section of your realm admin panel.
    ```copy
    (<protocol>://<host>:<port>/auth/admin/master/console/#/realms/<your realm>/clients/<your client code>)
    ```
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.
4. Back on the **Clients** page, navigate to the **Credentials** tab.
5. Make sure the **Client Authenticator** field is set to **Client ID and Secret**.
6. 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){target="_blank"}.

#### 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){target="_blank"} 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 ***{{glossary.authorizer}}*** for easier identification and click on **Save**.

## How to Create a Keycloak Data Source

{{snippet.SourceDatasetBased}}

***
## Troubleshooting
{{snippet.Troubleshooting BrokenView FS}}
{{snippet.Troubleshooting RelatedArticles}}
