From 2086e3efe0db60105bc905d97320a50a9b737025 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 17 Aug 2024 21:25:52 +0300 Subject: [PATCH] Add appservice-double-puppet double-puppeting support to beeper-linkedin Shared Secret Auth double puppeting still works for this bridge, but is deprecated and will go away in the future. --- docs/configuring-playbook-bridge-beeper-linkedin.md | 8 +++++--- group_vars/matrix_servers | 11 ++++++++++- .../matrix-bridge-beeper-linkedin/defaults/main.yml | 2 +- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/docs/configuring-playbook-bridge-beeper-linkedin.md b/docs/configuring-playbook-bridge-beeper-linkedin.md index a51b2781c..cfd0ec227 100644 --- a/docs/configuring-playbook-bridge-beeper-linkedin.md +++ b/docs/configuring-playbook-bridge-beeper-linkedin.md @@ -30,11 +30,13 @@ matrix_beeper_linkedin_configuration_extension_yaml: | You may wish to look at `roles/custom/matrix-bridge-beeper-linkedin/templates/config.yaml.j2` to find other things you would like to configure. -## Set up Double Puppeting +## Set up Double Puppeting by enabling Appservice Double Puppet or Shared Secret Auth -If you'd like to use [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do), you have to enable Shared Secred Auth. +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. -The bridge will automatically perform Double Puppeting if you enable [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) for this playbook. +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. ## Usage diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index cb66fabda..5f08cf32c 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -902,7 +902,16 @@ matrix_beeper_linkedin_appservice_token: "{{ '%s' | format(matrix_homeserver_gen matrix_beeper_linkedin_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}" matrix_beeper_linkedin_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'linked.hs.token', rounds=655555) | to_uuid }}" -matrix_beeper_linkedin_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_beeper_linkedin_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_beeper_linkedin_bridge_presence: "{{ matrix_synapse_presence_enabled if matrix_synapse_enabled else true }}" diff --git a/roles/custom/matrix-bridge-beeper-linkedin/defaults/main.yml b/roles/custom/matrix-bridge-beeper-linkedin/defaults/main.yml index 4eb7ef91e..936b2844a 100644 --- a/roles/custom/matrix-bridge-beeper-linkedin/defaults/main.yml +++ b/roles/custom/matrix-bridge-beeper-linkedin/defaults/main.yml @@ -88,7 +88,7 @@ matrix_beeper_linkedin_appservice_database_uri: "{{ }}" -# 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_beeper_linkedin_login_shared_secret: '' # Specifies the default log level for all bridge loggers.