From 21acd5c745da835c0070ac0915788f3c7fe20c77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Fra=C3=9F?= Date: Sun, 17 Dec 2023 00:23:21 +0100 Subject: [PATCH] [add] role:authelia-for-synapse --- .../authelia-for-synapse/defaults/main.json | 5 ++++ ansible/roles/authelia-for-synapse/info.md | 9 +++++++ .../authelia-for-synapse/tasks/main.json | 25 +++++++++++++++++++ .../templates/authelia-client-conf.json.j2 | 16 ++++++++++++ 4 files changed, 55 insertions(+) create mode 100644 ansible/roles/authelia-for-synapse/defaults/main.json create mode 100644 ansible/roles/authelia-for-synapse/info.md create mode 100644 ansible/roles/authelia-for-synapse/tasks/main.json create mode 100644 ansible/roles/authelia-for-synapse/templates/authelia-client-conf.json.j2 diff --git a/ansible/roles/authelia-for-synapse/defaults/main.json b/ansible/roles/authelia-for-synapse/defaults/main.json new file mode 100644 index 0000000..c140a23 --- /dev/null +++ b/ansible/roles/authelia-for-synapse/defaults/main.json @@ -0,0 +1,5 @@ +{ + "var_authelia_for_synapse_synapse_url_base": "https://matrix.example.org", + "var_authelia_for_synapse_client_id": "synapse", + "var_authelia_for_synapse_client_secret": "REPLACE_ME" +} diff --git a/ansible/roles/authelia-for-synapse/info.md b/ansible/roles/authelia-for-synapse/info.md new file mode 100644 index 0000000..2ec06a0 --- /dev/null +++ b/ansible/roles/authelia-for-synapse/info.md @@ -0,0 +1,9 @@ +## Beschreibung + +Um [Synapse](../synapse) gegen [Authelia](../authelia) authentifizieren zu lassen + + +## Verweise + +- [Authelia-Dokumentation | Synapse Integration](https://www.authelia.com/integration/openid-connect/synapse/) +- [Synapse-Dokumentation | OpenID Connect](https://matrix-org.github.io/synapse/latest/openid.html) diff --git a/ansible/roles/authelia-for-synapse/tasks/main.json b/ansible/roles/authelia-for-synapse/tasks/main.json new file mode 100644 index 0000000..25aa632 --- /dev/null +++ b/ansible/roles/authelia-for-synapse/tasks/main.json @@ -0,0 +1,25 @@ +[ + { + "name": "configuration | emplace", + "become": true, + "ansible.builtin.template": { + "src": "authelia-client-conf.json.j2", + "dest": "/etc/authelia/conf.d/clients/synapse.json" + } + }, + { + "name": "configuration | apply", + "become": true, + "ansible.builtin.command": { + "cmd": "/usr/bin/authelia-conf-compose" + } + }, + { + "name": "restart service", + "become": true, + "ansible.builtin.systemd_service": { + "state": "restarted", + "name": "authelia" + } + } +] diff --git a/ansible/roles/authelia-for-synapse/templates/authelia-client-conf.json.j2 b/ansible/roles/authelia-for-synapse/templates/authelia-client-conf.json.j2 new file mode 100644 index 0000000..be88570 --- /dev/null +++ b/ansible/roles/authelia-for-synapse/templates/authelia-client-conf.json.j2 @@ -0,0 +1,16 @@ +{ + "id": "{{var_authelia_for_synapse_client_id}}", + "description": "Synapse", + "secret": "{{var_authelia_for_synapse_client_secret}}", + "public": false, + "authorization_policy": "one_factor", + "redirect_uris": [ + "{{var_authelia_for_synapse_synapse_url_base}}/_synapse/client/oidc/callback" + ], + "scopes": [ + "openid", + "email", + "profile" + ], + "userinfo_signing_algorithm": "none" +}