diff options
author | Richard van der Hoff <1389908+richvdh@users.noreply.github.com> | 2021-02-03 16:13:09 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-03 16:13:09 +0000 |
commit | f20dadb649891984437fa94d4b47d6c3f4a3acde (patch) | |
tree | 10fd513596c6f3180b483cafadc9fcf2ad161ae3 | |
parent | social login: add noopener to terms link (#9300) (diff) | |
download | synapse-f20dadb649891984437fa94d4b47d6c3f4a3acde.tar.xz |
Fix formatting for "bad session" error during sso registration flow (#9296)
-rw-r--r-- | changelog.d/9296.bugfix | 1 | ||||
-rw-r--r-- | synapse/handlers/sso.py | 19 |
2 files changed, 17 insertions, 3 deletions
diff --git a/changelog.d/9296.bugfix b/changelog.d/9296.bugfix new file mode 100644 index 0000000000..d723f8c5bd --- /dev/null +++ b/changelog.d/9296.bugfix @@ -0,0 +1 @@ +Fix bug in Synapse 1.27.0rc1 which meant the "session expired" error page during SSO registration was badly formatted. diff --git a/synapse/handlers/sso.py b/synapse/handlers/sso.py index b450668f1c..96ccd991ed 100644 --- a/synapse/handlers/sso.py +++ b/synapse/handlers/sso.py @@ -742,7 +742,11 @@ class SsoHandler: use_display_name: whether the user wants to use the suggested display name emails_to_use: emails that the user would like to use """ - session = self.get_mapping_session(session_id) + try: + session = self.get_mapping_session(session_id) + except SynapseError as e: + self.render_error(request, "bad_session", e.msg, code=e.code) + return # update the session with the user's choices session.chosen_localpart = localpart @@ -793,7 +797,12 @@ class SsoHandler: session_id, terms_version, ) - session = self.get_mapping_session(session_id) + try: + session = self.get_mapping_session(session_id) + except SynapseError as e: + self.render_error(request, "bad_session", e.msg, code=e.code) + return + session.terms_accepted_version = terms_version # we're done; now we can register the user @@ -808,7 +817,11 @@ class SsoHandler: request: HTTP request session_id: ID of the username mapping session, extracted from a cookie """ - session = self.get_mapping_session(session_id) + try: + session = self.get_mapping_session(session_id) + except SynapseError as e: + self.render_error(request, "bad_session", e.msg, code=e.code) + return logger.info( "[session %s] Registering localpart %s", |