Identity and Access Management πŸ”ΒΆ

OpenTalk authenticates users against the central Keycloak realm via OIDC and looks up users via the Keycloak admin Web API (keycloak_webapi backend). OpenLDAP feeds OpenTalk transitively through Keycloak’s federation.

OIDC πŸͺͺΒΆ

  • Issuer URL: {{ OIDC.CLIENT.ISSUER_URL }}

  • Frontend client ID: {{ OIDC.CLIENT.ID }} (shared with the rest of the platform)

  • Controller client ID and secret: same shared Keycloak client; the secret is sourced from the central OIDC vault entry

Admin Role Mapping πŸ‘€ΒΆ

Members of the application_administrators LDAP group (per requirement 004) receive groups claims that OpenTalk maps to elevated permissions. The exact role-to-group mapping is configured via the controller’s role policy file or the Keycloak realm role mapper.

Verify OIDC Discovery 🩺¢

make compose-exec cmd="container exec opentalk-controller sh -c 'curl -fsS {{ OIDC.CLIENT.DISCOVERY_DOCUMENT }} | head -c 200'"

Verify Keycloak Admin API Access 🩺¢

make compose-exec cmd="container exec opentalk-controller sh -c 'curl -fsS -H \"Authorization: Bearer <token>\" {{ OPENTALK_KEYCLOAK_BASE_URL }}/admin/realms/{{ OIDC.CLIENT.REALM }}/users?search=alice'"