Files
ansible-middleware.keycloak/roles/keycloak_realm/tasks/manage_user_roles.yml
2026-07-21 00:27:35 +05:30

27 lines
1.2 KiB
YAML

---
- name: "Get User {{ user.username }}"
ansible.builtin.uri:
url: "{{ keycloak_realm_url }}{{ keycloak_realm_context }}/admin/realms/{{ keycloak_realm_realm }}/users?username={{ user.username }}"
validate_certs: "{{ keycloak_realm_validate_certs | default(omit) }}"
headers:
Authorization: "Bearer {{ keycloak_realm_auth_response.json.access_token }}"
register: keycloak_realm_user
- name: Refresh keycloak auth token
ansible.builtin.uri:
url: "{{ keycloak_realm_url }}{{ keycloak_realm_context }}/realms/master/protocol/openid-connect/token"
method: POST
body: "client_id={{ keycloak_realm_auth_client }}&username={{ keycloak_realm_admin_user }}&password={{ keycloak_realm_admin_password }}&grant_type=password"
validate_certs: "{{ keycloak_realm_validate_certs | default(omit) }}"
register: keycloak_realm_auth_response
no_log: "{{ keycloak_realm_no_log | default('True') }}"
until: keycloak_realm_auth_response.status == 200
retries: 5
delay: 2
- name: "Manage Client Role Mapping for {{ user.username }}"
ansible.builtin.include_tasks: manage_user_client_roles.yml
loop: "{{ user.client_roles | flatten }}"
loop_control:
loop_var: client_role