From 9b8fe6eadc63a145e71495dffcee67c6ac3ee730 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 17 Aug 2024 21:22:24 +0300 Subject: [PATCH] Add appservice-double-puppet double-puppeting support to mautrix-googlechat Shared Secret Auth double puppeting still works for this bridge, but is deprecated and will go away in the future. --- .../configuring-playbook-bridge-mautrix-googlechat.md | 8 +++++--- group_vars/matrix_servers | 11 ++++++++++- .../defaults/main.yml | 2 +- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/docs/configuring-playbook-bridge-mautrix-googlechat.md b/docs/configuring-playbook-bridge-mautrix-googlechat.md index 6527294b6..bd3b14e7d 100644 --- a/docs/configuring-playbook-bridge-mautrix-googlechat.md +++ b/docs/configuring-playbook-bridge-mautrix-googlechat.md @@ -16,11 +16,13 @@ matrix_mautrix_googlechat_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 ffad0da40..c71be0ce7 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -1204,7 +1204,16 @@ matrix_mautrix_googlechat_appservice_token: "{{ '%s' | format(matrix_homeserver_ matrix_mautrix_googlechat_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}" matrix_mautrix_googlechat_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'gc.hs.token', rounds=655555) | to_uuid }}" -matrix_mautrix_googlechat_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_googlechat_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_googlechat_metrics_enabled: "{{ prometheus_enabled or matrix_metrics_exposure_enabled }}" diff --git a/roles/custom/matrix-bridge-mautrix-googlechat/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-googlechat/defaults/main.yml index 1ecf09dab..f9ff35681 100644 --- a/roles/custom/matrix-bridge-mautrix-googlechat/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-googlechat/defaults/main.yml @@ -141,7 +141,7 @@ matrix_mautrix_googlechat_appservice_database: "{{ }}" -# 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_googlechat_login_shared_secret: '' matrix_mautrix_googlechat_appservice_bot_username: googlechatbot