Skip to content

Commit 9a33107

Browse files
committed
Check id_token format before redirecting in Keycloak auth manager
1 parent b1667f3 commit 9a33107

File tree

1 file changed

+2
-1
lines changed
  • providers/keycloak/src/airflow/providers/keycloak/auth_manager/routes

1 file changed

+2
-1
lines changed

providers/keycloak/src/airflow/providers/keycloak/auth_manager/routes/login.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,8 @@ def logout(request: Request):
121121
base_url = conf.get("api", "base_url", fallback="/")
122122
post_logout_redirect_uri = urljoin(base_url, f"{AUTH_MANAGER_FASTAPI_APP_PREFIX}/logout_callback")
123123

124-
if id_token:
124+
# Validate id_token format before using in redirect (JWT tokens have 3 parts separated by dots)
125+
if id_token and id_token.count(".") == 2 and all(c.isalnum() or c in ".-_" for c in id_token):
125126
encoded_id_token = quote(id_token, safe="")
126127
logout_url = (
127128
f"{end_session_endpoint}?post_logout_redirect_uri={post_logout_redirect_uri}"

0 commit comments

Comments
 (0)