summary refs log tree commit diff
path: root/synapse/rest/client
diff options
context:
space:
mode:
authorAndrew Morgan <1342360+anoadragon453@users.noreply.github.com>2019-09-23 19:52:43 +0200
committerRichard van der Hoff <1389908+richvdh@users.noreply.github.com>2019-09-23 18:52:43 +0100
commitb38aa82b83334573e40cb56f076eaf820c51c9ba (patch)
tree9863243fb189697dd8236d2eddf995c6b7a30f2a /synapse/rest/client
parentAdd POST submit_token endpoint for MSISDN (#6078) (diff)
downloadsynapse-b38aa82b83334573e40cb56f076eaf820c51c9ba.tar.xz
Add m.require_identity_server to /versions unstable_flags (#5972)
As MSC2263 states, m.require_identity_server must be set to false when it does not require an identity server to be provided by the client for the purposes of email registration or password reset.

Adds an m.require_identity_server flag to /versionss unstable_flags section. This will advertise that Synapse no longer needs id_server as a parameter.
Diffstat (limited to 'synapse/rest/client')
-rw-r--r--synapse/rest/client/versions.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/synapse/rest/client/versions.py b/synapse/rest/client/versions.py
index 0058b6b459..3c9ec59d72 100644
--- a/synapse/rest/client/versions.py
+++ b/synapse/rest/client/versions.py
@@ -48,7 +48,19 @@ class VersionsRestServlet(RestServlet):
                     "r0.5.0",
                 ],
                 # as per MSC1497:
-                "unstable_features": {"m.lazy_load_members": True},
+                "unstable_features": {
+                    "m.lazy_load_members": True,
+                    # Advertise to clients that they need not include an `id_server`
+                    # parameter during registration or password reset, as Synapse now decides
+                    # itself which identity server to use (or none at all).
+                    #
+                    # This is also used by a client when they wish to bind a 3PID to their
+                    # account, but not bind it to an identity server, the endpoint for which
+                    # also requires `id_server`. If the homeserver is handling 3PID
+                    # verification itself, there is no need to ask the user for `id_server` to
+                    # be supplied.
+                    "m.require_identity_server": False,
+                },
             },
         )