From 48bab2f0ea8866fc890a0b377eb390799a7b1861 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 17 Aug 2024 21:22:35 +0300 Subject: [PATCH] Add appservice-double-puppet double-puppeting support to mautrix-gmessages Shared Secret Auth double puppeting still works for this bridge, but is deprecated and will go away in the future. --- docs/configuring-playbook-bridge-mautrix-gmessages.md | 8 +++++--- group_vars/matrix_servers | 11 ++++++++++- .../matrix-bridge-mautrix-gmessages/defaults/main.yml | 2 +- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/docs/configuring-playbook-bridge-mautrix-gmessages.md b/docs/configuring-playbook-bridge-mautrix-gmessages.md index 10981bf16..35eb16841 100644 --- a/docs/configuring-playbook-bridge-mautrix-gmessages.md +++ b/docs/configuring-playbook-bridge-mautrix-gmessages.md @@ -14,11 +14,13 @@ matrix_mautrix_gmessages_enabled: true If you'd like to use [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do), you have 2 ways of going about it. -### Method 1: automatically, by enabling Shared Secret Auth +### Method 1: automatically, by enabling Appservice Double Puppet or Shared Secret Auth -The bridge will automatically perform Double Puppeting if you enable [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) for this playbook. +The bridge will automatically perform Double Puppeting if you enable the [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) service or the [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service for this playbook. -This is the recommended way of setting up Double Puppeting, as it's easier to accomplish, works for all your users automatically, and has less of a chance of breaking in the future. +Enabling [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) is the recommended way of setting up Double Puppeting, as it's easier to accomplish, works for all your users automatically, and has less of a chance of breaking in the future. + +Enabling double puppeting by enabling the [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service works at the time of writing, but is deprecated and will stop working in the future. ### Method 2: manually, by asking each user to provide a working access token diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index c71be0ce7..cb66fabda 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -1795,7 +1795,16 @@ matrix_mautrix_gmessages_appservice_token: "{{ '%s' | format(matrix_homeserver_g matrix_mautrix_gmessages_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}" matrix_mautrix_gmessages_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'gmessa.hs.token', rounds=655555) | to_uuid }}" -matrix_mautrix_gmessages_login_shared_secret: "{{ matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret if matrix_synapse_ext_password_provider_shared_secret_auth_enabled else '' }}" +matrix_mautrix_gmessages_login_shared_secret: |- + {{ + ("as_token:" + matrix_appservice_double_puppet_registration_as_token) + if matrix_appservice_double_puppet_enabled + else ( + matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret if matrix_synapse_ext_password_provider_shared_secret_auth_enabled + if matrix_synapse_ext_password_provider_shared_secret_auth_enabled + else "" + ) + }} matrix_mautrix_gmessages_metrics_enabled: "{{ prometheus_enabled or matrix_metrics_exposure_enabled }}" diff --git a/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml index fc72e8a10..5d493b705 100644 --- a/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml @@ -132,7 +132,7 @@ matrix_mautrix_gmessages_appservice_database_uri: "{{ }[matrix_mautrix_gmessages_database_engine] }}" -# Can be set to enable automatic double-puppeting via Shared Secret Auth (https://github.com/devture/matrix-synapse-shared-secret-auth). +# Can be set to enable automatic double-puppeting via Shared Secret Auth (https://github.com/devture/matrix-synapse-shared-secret-auth) or Appservice Double Puppet. matrix_mautrix_gmessages_login_shared_secret: '' matrix_mautrix_gmessages_bridge_login_shared_secret_map: "{{ {matrix_mautrix_gmessages_homeserver_domain: matrix_mautrix_gmessages_login_shared_secret} if matrix_mautrix_gmessages_login_shared_secret else {} }}"