summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndrew Morgan <andrew@amorgan.xyz>2019-09-10 17:43:57 +0100
committerAndrew Morgan <andrew@amorgan.xyz>2019-09-10 17:56:10 +0100
commitb5833a2abf788a4144602c3e0de15d371608094b (patch)
tree3d52063a1eedf657cf942d21229b014615bbe8fe
parentUse account_threepid_delegate for 3pid validation (diff)
downloadsynapse-b5833a2abf788a4144602c3e0de15d371608094b.tar.xz
Add changelog
-rw-r--r--changelog.d/6011.feature1
-rw-r--r--synapse/handlers/identity.py6
-rw-r--r--synapse/rest/client/v2_alpha/account.py2
3 files changed, 5 insertions, 4 deletions
diff --git a/changelog.d/6011.feature b/changelog.d/6011.feature
new file mode 100644
index 0000000000..ad16acb12b
--- /dev/null
+++ b/changelog.d/6011.feature
@@ -0,0 +1 @@
+Use account_threepid_delegate.email and account_threepid_delegate.msisdn for validating threepid sessions.
\ No newline at end of file
diff --git a/synapse/handlers/identity.py b/synapse/handlers/identity.py
index 2dfb79fde1..f6d1d1717e 100644
--- a/synapse/handlers/identity.py
+++ b/synapse/handlers/identity.py
@@ -84,8 +84,8 @@ class IdentityHandler(BaseHandler):
             id_server (str|None): The identity server to validate 3PIDs against. If None,
                 we will attempt to extract id_server creds
 
-            creds (dict[str, str]): Dictionary containing the following key:
-                * id_server: An optional domain name of an identity server
+            creds (dict[str, str]): Dictionary containing the following keys:
+                * id_server|idServer: An optional domain name of an identity server
                 * client_secret|clientSecret: A unique secret str provided by the client
                 * sid: The ID of the validation session
 
@@ -106,7 +106,7 @@ class IdentityHandler(BaseHandler):
             )
         if not id_server:
             # Attempt to get the id_server from the creds dict
-            id_server = creds.get("id_server")
+            id_server = creds.get("id_server") or creds.get("idServer")
             if not id_server:
                 raise SynapseError(
                     400, "Missing param id_server in creds", errcode=Codes.MISSING_PARAM
diff --git a/synapse/rest/client/v2_alpha/account.py b/synapse/rest/client/v2_alpha/account.py
index 94a8fec8f7..2ea515d2f6 100644
--- a/synapse/rest/client/v2_alpha/account.py
+++ b/synapse/rest/client/v2_alpha/account.py
@@ -523,7 +523,7 @@ class ThreepidRestServlet(RestServlet):
         requester = yield self.auth.get_user_by_req(request)
         user_id = requester.user.to_string()
 
-        # Retrieve the identity server from the request
+        # Specify None as the identity server to retrieve it from the request body instead
         threepid = yield self.identity_handler.threepid_from_creds(None, threepid_creds)
 
         if not threepid: