summary refs log tree commit diff
diff options
context:
space:
mode:
authorRichard van der Hoff <github@rvanderhoff.org.uk>2018-01-05 09:54:39 +0000
committerGitHub <noreply@github.com>2018-01-05 09:54:39 +0000
commit6e375f45978bf2b9b6820a9c6caadf6f58a08f8b (patch)
tree02ed83942c3b98d3a59d8760ff962726ec27c8d0
parentMerge pull request #2745 from matrix-org/rav/assert_params (diff)
parentBetter logging when login can't find a 3pid (diff)
downloadsynapse-6e375f45978bf2b9b6820a9c6caadf6f58a08f8b.tar.xz
Merge pull request #2744 from matrix-org/rav/login_logging
Better logging when login can't find a 3pid
-rw-r--r--synapse/rest/client/v1/login.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/synapse/rest/client/v1/login.py b/synapse/rest/client/v1/login.py
index 5669ecb724..45844aa2d2 100644
--- a/synapse/rest/client/v1/login.py
+++ b/synapse/rest/client/v1/login.py
@@ -191,19 +191,25 @@ class LoginRestServlet(ClientV1RestServlet):
 
         # convert threepid identifiers to user IDs
         if identifier["type"] == "m.id.thirdparty":
-            if 'medium' not in identifier or 'address' not in identifier:
+            address = identifier.get('address')
+            medium = identifier.get('medium')
+
+            if medium is None or address is None:
                 raise SynapseError(400, "Invalid thirdparty identifier")
 
-            address = identifier['address']
-            if identifier['medium'] == 'email':
+            if medium == 'email':
                 # For emails, transform the address to lowercase.
                 # We store all email addreses as lowercase in the DB.
                 # (See add_threepid in synapse/handlers/auth.py)
                 address = address.lower()
             user_id = yield self.hs.get_datastore().get_user_id_by_threepid(
-                identifier['medium'], address
+                medium, address,
             )
             if not user_id:
+                logger.warn(
+                    "unknown 3pid identifier medium %s, address %r",
+                    medium, address,
+                )
                 raise LoginError(403, "", errcode=Codes.FORBIDDEN)
 
             identifier = {