diff options
author | Patrick Cloke <clokep@users.noreply.github.com> | 2020-05-08 16:08:58 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-08 16:08:58 -0400 |
commit | 0ad6d28b0dec06d5e7478984280b4e81ef0f0256 (patch) | |
tree | d518483b8aac4fa9c2c30d64fbb23deaa10d4d84 /synapse/storage | |
parent | Fix errors from malformed log line (#7454) (diff) | |
download | synapse-0ad6d28b0dec06d5e7478984280b4e81ef0f0256.tar.xz |
Rework UI Auth session validation for registration (#7455)
Be less strict about validation of UI authentication sessions during registration to match client expecations.
Diffstat (limited to 'synapse/storage')
-rw-r--r-- | synapse/storage/data_stores/main/ui_auth.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/synapse/storage/data_stores/main/ui_auth.py b/synapse/storage/data_stores/main/ui_auth.py index c8eebc9378..1d8ee22fb1 100644 --- a/synapse/storage/data_stores/main/ui_auth.py +++ b/synapse/storage/data_stores/main/ui_auth.py @@ -172,6 +172,27 @@ class UIAuthWorkerStore(SQLBaseStore): return results + async def set_ui_auth_clientdict( + self, session_id: str, clientdict: JsonDict + ) -> None: + """ + Store an updated clientdict for a given session ID. + + Args: + session_id: The ID of this session as returned from check_auth + clientdict: + The dictionary from the client root level, not the 'auth' key. + """ + # The clientdict gets stored as JSON. + clientdict_json = json.dumps(clientdict) + + self.db.simple_update_one( + table="ui_auth_sessions", + keyvalues={"session_id": session_id}, + updatevalues={"clientdict": clientdict_json}, + desc="set_ui_auth_client_dict", + ) + async def set_ui_auth_session_data(self, session_id: str, key: str, value: Any): """ Store a key-value pair into the sessions data associated with this |