diff options
author | Patrick Cloke <clokep@users.noreply.github.com> | 2020-12-18 13:09:45 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-18 13:09:45 -0500 |
commit | 4218473f9ea6a2680c21e96368dfe9c06271c8a4 (patch) | |
tree | 3203110c1f345bff5592dbc90fb6749dea1597ee /synapse/handlers/sso.py | |
parent | Send the location of the web client to the IS when inviting via 3PIDs. (#8930) (diff) | |
download | synapse-4218473f9ea6a2680c21e96368dfe9c06271c8a4.tar.xz |
Refactor the CAS handler in prep for using the abstracted SSO code. (#8958)
This makes the CAS handler look more like the SAML/OIDC handlers: * Render errors to users instead of throwing JSON errors. * Internal reorganization.
Diffstat (limited to 'synapse/handlers/sso.py')
-rw-r--r-- | synapse/handlers/sso.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/synapse/handlers/sso.py b/synapse/handlers/sso.py index 548b02211b..b0a8c8c7d2 100644 --- a/synapse/handlers/sso.py +++ b/synapse/handlers/sso.py @@ -101,7 +101,11 @@ class SsoHandler: self._username_mapping_sessions = {} # type: Dict[str, UsernameMappingSession] def render_error( - self, request, error: str, error_description: Optional[str] = None + self, + request: Request, + error: str, + error_description: Optional[str] = None, + code: int = 400, ) -> None: """Renders the error template and responds with it. @@ -113,11 +117,12 @@ class SsoHandler: We'll respond with an HTML page describing the error. error: A technical identifier for this error. error_description: A human-readable description of the error. + code: The integer error code (an HTTP response code) """ html = self._error_template.render( error=error, error_description=error_description ) - respond_with_html(request, 400, html) + respond_with_html(request, code, html) async def get_sso_user_by_remote_user_id( self, auth_provider_id: str, remote_user_id: str |