1 files changed, 7 insertions, 1 deletions
diff --git a/synapse/handlers/auth.py b/synapse/handlers/auth.py
index 1f927e67ad..7b0ab4829b 100644
--- a/synapse/handlers/auth.py
+++ b/synapse/handlers/auth.py
@@ -195,12 +195,18 @@ class AuthHandler(BaseHandler):
def _check_email_identity(self, authdict, _):
yield run_on_reactor()
+ if 'threepidCreds' not in authdict:
+ raise LoginError(400, "Missing threepidCreds", Codes.MISSING_PARAM)
+
threepidCreds = authdict['threepidCreds']
identity_handler = self.hs.get_handlers().identity_handler
- logger.debug("Getting validated threepid. threepidcreds: %r" % (threepidCreds,))
+ logger.info("Getting validated threepid. threepidcreds: %r" % (threepidCreds,))
threepid = yield identity_handler.threepid_from_creds(threepidCreds)
+ if not threepid:
+ raise LoginError(401, "", errcode=Codes.UNAUTHORIZED)
+
threepid['threepidCreds'] = authdict['threepidCreds']
defer.returnValue(threepid)
|