diff options
author | Erik Johnston <erik@matrix.org> | 2019-04-01 10:21:12 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2019-04-01 15:25:18 +0100 |
commit | 057715aaa2b143843692ebe5fd137fed6e5d671c (patch) | |
tree | ef0ea564f6081747bcc01a33c8e1a9821423db33 /synapse/handlers/auth.py | |
parent | For unbind poke IS used during binding of 3PID (diff) | |
download | synapse-057715aaa2b143843692ebe5fd137fed6e5d671c.tar.xz |
Allowing specifying IS to use in unbind API.
By default the homeserver will use the identity server used during the binding of the 3PID to unbind the 3PID. However, we need to allow clients to explicitly ask the homeserver to unbind via a particular identity server, for the case where the 3PID was bound out of band from the homeserver. Implements MSC915.
Diffstat (limited to 'synapse/handlers/auth.py')
-rw-r--r-- | synapse/handlers/auth.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/synapse/handlers/auth.py b/synapse/handlers/auth.py index 4544de821d..aa5d89a9ac 100644 --- a/synapse/handlers/auth.py +++ b/synapse/handlers/auth.py @@ -912,7 +912,7 @@ class AuthHandler(BaseHandler): ) @defer.inlineCallbacks - def delete_threepid(self, user_id, medium, address): + def delete_threepid(self, user_id, medium, address, id_server=None): """Attempts to unbind the 3pid on the identity servers and deletes it from the local database. @@ -920,6 +920,10 @@ class AuthHandler(BaseHandler): user_id (str) medium (str) address (str) + id_server (str|None): Use the given identity server when unbinding + any threepids. If None then will attempt to unbind using the + identity server specified when binding (if known). + Returns: Deferred[bool]: Returns True if successfully unbound the 3pid on @@ -937,6 +941,7 @@ class AuthHandler(BaseHandler): { 'medium': medium, 'address': address, + 'id_server': id_server, }, ) |