From 8f8796f5988143d394444d3f319b3b88fc043c35 Mon Sep 17 00:00:00 2001 From: Kevin Veen-Birkenbach Date: Thu, 17 Apr 2025 15:00:45 +0200 Subject: [PATCH] Solved settings save bug --- roles/docker-wordpress/tasks/oidc_settings.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/roles/docker-wordpress/tasks/oidc_settings.yml b/roles/docker-wordpress/tasks/oidc_settings.yml index 41d46ce8..42b99152 100644 --- a/roles/docker-wordpress/tasks/oidc_settings.yml +++ b/roles/docker-wordpress/tasks/oidc_settings.yml @@ -14,11 +14,12 @@ chdir: "{{ docker_compose.directories.instance }}" failed_when: false -- name: "Apply all OIDC settings via WP-CLI eval" - # Convert the settings map to JSON and update the option in one step +- name: "Apply all OIDC settings via WP-CLI eval (safe via base64)" + # Convert the settings map to base64-encoded JSON to avoid shell escaping issues + vars: + oidc_settings_json_b64: "{{ oidc_vars.oidc_settings | to_json | b64encode }}" command: > docker-compose exec -u www-data -T application bash -lc - "settings_json='{{ oidc_vars.oidc_settings | to_json }}'; \ - wp eval \"update_option('openid_connect_generic_settings', json_decode('"$settings_json"', true));\" --path={{ wordpress_docker_html_path }}" + "wp eval \"update_option('openid_connect_generic_settings', json_decode(base64_decode('{{ oidc_settings_json_b64 }}'), true));\" --path={{ wordpress_docker_html_path }}" args: chdir: "{{ docker_compose.directories.instance }}"