Manage the CCCHH browser authentication flow as YAML
All checks were successful
/ build (pull_request) Successful in 47s
/ Ansible Lint (push) Successful in 5m31s
/ Ansible Lint (pull_request) Successful in 4m35s

Adds a keycloak_auth_flow role that locally validates flow
definitions (structure, nesting depth, known provider IDs, and a set
of Keycloak authentication-flow gotchas: conditions silently ignored
outside a Conditional subflow, keycloak/keycloak#29515's OTP+WebAuthn
sibling bug, conditional-credential config shape/semantics, and more)
before deploying them idempotently via
middleware_automation.keycloak.keycloak_authentication_v2.

Includes the CCCHH realm's actual "browser passkey and token" flow
(the realm's real browserFlow binding, not the untouched built-in
"browser" flow), exported from the live server so it's now reviewable
and redeployable from this repo instead of only editable in the
Keycloak admin console.
This commit is contained in:
Stefan Bethke 2026-09-02 11:07:45 +02:00
commit 32b5f147bc
9 changed files with 616 additions and 0 deletions

View file

@ -17,3 +17,7 @@ nginx__configurations:
content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/keycloak/nginx/keycloak-admin.hamburg.ccc.de.conf') }}"
- name: invite.hamburg.ccc.de
content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/keycloak/nginx/invite.hamburg.ccc.de.conf') }}"
keycloak_auth_flow__admin_password: "{{ secret__keycloak_admin_password }}"
keycloak_auth_flow__flows:
- "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/keycloak/auth_flows/browser.yaml') | from_yaml }}"

View file

@ -162,6 +162,9 @@ docker_compose_hosts:
nextcloud_hosts:
hosts:
cloud:
keycloak_auth_flow_hosts:
hosts:
keycloak:
nginx_hosts:
hosts:
acmedns: