This is an automated email from the ASF dual-hosted git repository.

bugraoz pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new cc16dd60ac7 Add Keycloak login settings management documentation 
(#58605)
cc16dd60ac7 is described below

commit cc16dd60ac78ffff9e2b6c49a3afac677adcd92c
Author: Bugra Ozturk <[email protected]>
AuthorDate: Wed Nov 26 21:36:04 2025 +0100

    Add Keycloak login settings management documentation (#58605)
    
    * add Keycloak login settings management documentation
    
    * move local parts to contributing doc and update user docs
    
    * Apply suggestion from @vincbeck
    
    Co-authored-by: Vincent <[email protected]>
    
    * Update Keycloak client configuration documentation for clarity and 
accuracy
    
    ---------
    
    Co-authored-by: Vincent <[email protected]>
---
 contributing-docs/21_keycloak_client_settings.rst  |  52 +++++++++++
 providers/keycloak/docs/auth-manager/index.rst     |   7 ++
 .../keycloak/docs/auth-manager/manage/login.rst    | 103 +++++++++++++++++++++
 providers/keycloak/docs/security.rst               |   6 ++
 4 files changed, 168 insertions(+)

diff --git a/contributing-docs/21_keycloak_client_settings.rst 
b/contributing-docs/21_keycloak_client_settings.rst
new file mode 100644
index 00000000000..1cfaf537166
--- /dev/null
+++ b/contributing-docs/21_keycloak_client_settings.rst
@@ -0,0 +1,52 @@
+ .. Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+ ..   http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+Setting up Keycloak Client for Breeze
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+To fully integrate Keycloak into local Airflow development with Breeze, you 
need to configure a Keycloak client.
+You can start by using the ``breeze start-airflow --integration keycloak`` 
command,
+which launches Airflow with Keycloak support and starts a Keycloak instance 
with default settings.
+
+Next, create a Keycloak client for Airflow in the Keycloak admin console, 
accessible at ``http://localhost:48080/``.
+During client creation, the relevant configuration section is called ``Login 
Settings``;
+after the client is created, this section appears as ``Access Settings``.
+
+.. list-table::
+   :header-rows: 1
+   :widths: 25 75 75
+
+   * - Field
+     - Local (Breeze) Value
+     - Local (Breeze) Templated Value
+   * - Root URL
+     - http://localhost:28080
+     - ${authBaseUrl}
+   * - Home URL
+     - http://localhost:28080
+     - <Not Usable>
+   * - Valid Redirect URIs
+     - http://localhost:28080/*
+     - <Not Usable>
+   * - Valid Post Logout Redirect URIs
+     - http://localhost:28080/*
+     - <Not Usable>
+   * - Web Origins
+     - http://localhost:28080
+     - ${authBaseUrl}
+
+After you configure the client, the settings will persist as long as the 
Docker volumes are not removed.
+To obtain the client credentials, open the ``Credentials`` tab of the client 
you created.
diff --git a/providers/keycloak/docs/auth-manager/index.rst 
b/providers/keycloak/docs/auth-manager/index.rst
index 9dc2a231d97..e5726490744 100644
--- a/providers/keycloak/docs/auth-manager/index.rst
+++ b/providers/keycloak/docs/auth-manager/index.rst
@@ -47,3 +47,10 @@ It enables you to manage users, roles, groups, and 
permissions entirely within K
     :maxdepth: 2
 
     token
+
+**Setup client Access/Login Settings**
+
+.. toctree::
+    :maxdepth: 2
+
+    manage/login
diff --git a/providers/keycloak/docs/auth-manager/manage/login.rst 
b/providers/keycloak/docs/auth-manager/manage/login.rst
new file mode 100644
index 00000000000..db7fc462cbc
--- /dev/null
+++ b/providers/keycloak/docs/auth-manager/manage/login.rst
@@ -0,0 +1,103 @@
+   .. Licensed to the Apache Software Foundation (ASF) under one
+      or more contributor license agreements.  See the NOTICE file
+      distributed with this work for additional information
+      regarding copyright ownership.  The ASF licenses this file
+      to you under the Apache License, Version 2.0 (the
+      "License"); you may not use this file except in compliance
+      with the License.  You may obtain a copy of the License at
+
+   ..   http://www.apache.org/licenses/LICENSE-2.0
+
+   .. Unless required by applicable law or agreed to in writing,
+      software distributed under the License is distributed on an
+      "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+      KIND, either express or implied.  See the License for the
+      specific language governing permissions and limitations
+      under the License.
+
+================================================
+Manage login settings with Keycloak auth manager
+================================================
+This topic is related to the Keycloak ``Login Settings``.
+These settings appear when you create a client in Keycloak, and remain 
accessible afterward under the ``Access Settings`` tab.
+They play an important role in limiting the client's scope and reducing its 
potential impact area.
+
+Keycloak Client Configuration Guide
+===================================
+This document explains how to properly configure a Keycloak client using your 
production HTTP(S) URL
+(``<https://yourcompany.airflow.com>``).
+
+Overview
+--------
+Client configuration is a crucial part of enabling Keycloak authentication for 
your application.
+You must ensure that Client Authentication, Authorization, and the 
Authentication Flow are correctly configured.
+
+Set ``Client Authentication`` to ``ON``.
+Set ``Authorization`` to ``ON``.
+For ``Authentication Flow`` values, refer to the table below.
+
+Login settings (After Client is Created)
+----------------------------------------
+.. list-table::
+    :header-rows: 1
+    :widths: 30 70
+
+    * - Field
+      - Value
+    * - Standard Flow
+      - ON
+    * - Direct Access Grants
+      - ON
+    * - Implicit Flow
+      - OFF
+    * - Service accounts roles
+      - ON (by default if configuration overridden from Keycloak)
+    * - OAuth 2.0 Device Authorization Grant
+      - OFF
+    * - OIDC CIBA Grant
+      - OFF
+
+To enable your application to authenticate users through Keycloak, you must 
configure the following fields in your Keycloak client:
+
+* Root URL
+* Home URL
+* Valid Redirect URIs
+* Valid Post Logout Redirect URIs
+* Web Origins
+* Admin URL (optional)
+
+Login Settings (While Creating Client)/Access Settings (After Client is 
Created)
+--------------------------------------------------------------------------------
+.. list-table::
+   :header-rows: 1
+   :widths: 30 40
+
+   * - Field
+     - Production Value
+   * - Root URL
+     - https://yourcompany.airflow.com
+   * - Home URL
+     - https://yourcompany.airflow.com
+   * - Valid Redirect URIs
+     - https://yourcompany.airflow.com/*
+   * - Valid Post Logout Redirect URIs
+     - https://yourcompany.airflow.com/*
+   * - Web Origins
+     - https://yourcompany.airflow.com
+
+Logout settings (After Client is Created)
+-----------------------------------------
+.. list-table::
+    :header-rows: 1
+    :widths: 30 70
+
+    * - Field
+      - Value
+    * - Front channel logout
+      - ON
+
+Notes on Keycloak Template Variables
+------------------------------------
+
+``${authBaseUrl}``
+This resolves to **Keycloak's own base URL**, not your application's URL. You 
should not use it as the Root URL for your Airflow application.
diff --git a/providers/keycloak/docs/security.rst 
b/providers/keycloak/docs/security.rst
index 15a0ebbb2d0..2aea19bc44c 100644
--- a/providers/keycloak/docs/security.rst
+++ b/providers/keycloak/docs/security.rst
@@ -16,3 +16,9 @@
     under the License.
 
 .. include:: /../../../devel-common/src/sphinx_exts/includes/security.rst
+
+
+Setting up Keycloak Client
+==========================
+You can both create or use an existing Keycloak realm and create a client for 
Airflow in it.
+To create a client, follow the `Keycloak Client 
</auth-manager/manage/login.html>`_

Reply via email to