summary refs log tree commit diff
path: root/synapse/config/saml2_config.py
diff options
context:
space:
mode:
authorBrendan Abolivier <babolivier@matrix.org>2020-03-11 19:33:16 +0000
committerBrendan Abolivier <babolivier@matrix.org>2020-03-11 19:33:16 +0000
commitb8cfe79ffcc1184547673264563884e0188e47a7 (patch)
tree04688cf8eb233af1b436a393ff2ab980aa28a888 /synapse/config/saml2_config.py
parentAdd options to disable setting profile info for prevent changes. (#7053) (diff)
downloadsynapse-b8cfe79ffcc1184547673264563884e0188e47a7.tar.xz
Move the default SAML2 error HTML to a dedicated file
Also add some JS to it to process any error we might have in the URI
(see #6893).
Diffstat (limited to 'synapse/config/saml2_config.py')
-rw-r--r--synapse/config/saml2_config.py29
1 files changed, 11 insertions, 18 deletions
diff --git a/synapse/config/saml2_config.py b/synapse/config/saml2_config.py

index 07895c4315..882aa3bb5b 100644 --- a/synapse/config/saml2_config.py +++ b/synapse/config/saml2_config.py
@@ -15,6 +15,9 @@ # limitations under the License. import logging +import os + +import pkg_resources from synapse.python_dependencies import DependencyException, check_requirements from synapse.util.module_loader import load_module, load_python_module @@ -27,18 +30,6 @@ DEFAULT_USER_MAPPING_PROVIDER = ( "synapse.handlers.saml_handler.DefaultSamlMappingProvider" ) -SAML2_ERROR_DEFAULT_HTML = """ -<html> - <body> - <p>Oops! Something went wrong</p> - <p> - Try logging in again from your Matrix client and if the problem persists - please contact the server's administrator. - </p> - </body> -</html> -""" - def _dict_merge(merge_dict, into_dict): """Do a deep merge of two dicts @@ -172,12 +163,14 @@ class SAML2Config(Config): saml2_config.get("saml_session_lifetime", "5m") ) - if "error_html_path" in config: - self.saml2_error_html_content = self.read_file( - config["error_html_path"], "saml2_config.error_html_path", - ) - else: - self.saml2_error_html_content = SAML2_ERROR_DEFAULT_HTML + error_html_path = config.get("error_html_path") + if not error_html_path: + template_dir = pkg_resources.resource_filename("synapse", "res/templates") + error_html_path = os.path.join(template_dir, "saml_error.html") + + self.saml2_error_html_content = self.read_file( + error_html_path, "saml2_config.error_html_path", + ) def _default_saml_config_dict( self, required_attributes: set, optional_attributes: set