diff options
author | Brendan Abolivier <babolivier@matrix.org> | 2020-03-11 19:33:16 +0000 |
---|---|---|
committer | Brendan Abolivier <babolivier@matrix.org> | 2020-03-11 19:33:16 +0000 |
commit | b8cfe79ffcc1184547673264563884e0188e47a7 (patch) | |
tree | 04688cf8eb233af1b436a393ff2ab980aa28a888 /synapse/config/saml2_config.py | |
parent | Add options to disable setting profile info for prevent changes. (#7053) (diff) | |
download | synapse-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.py | 29 |
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 |