Merge pull request #5658 from matrix-org/babolivier/is-json
This commit is contained in:
1
changelog.d/5658.bugfix
Normal file
1
changelog.d/5658.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fix 3PID bind requests being sent to identity servers as `application/x-form-www-urlencoded` data, which is deprecated.
|
||||
@@ -136,7 +136,7 @@ class IdentityHandler(BaseHandler):
|
||||
id_server_host = id_server
|
||||
|
||||
try:
|
||||
data = yield self.http_client.post_urlencoded_get_json(
|
||||
data = yield self.http_client.post_json_get_json(
|
||||
"https://%s%s" % (id_server_host, "/_matrix/identity/api/v1/3pid/bind"),
|
||||
{"sid": creds["sid"], "client_secret": client_secret, "mxid": mxid},
|
||||
)
|
||||
|
||||
@@ -43,8 +43,8 @@ class ThreepidISRewrittenURLTestCase(unittest.HomeserverTestCase):
|
||||
self.is_server_name: self.rewritten_is_url
|
||||
}
|
||||
|
||||
mock_http_client = Mock(spec=["post_urlencoded_get_json"])
|
||||
mock_http_client.post_urlencoded_get_json.return_value = defer.succeed(
|
||||
mock_http_client = Mock(spec=["post_json_get_json"])
|
||||
mock_http_client.post_json_get_json.return_value = defer.succeed(
|
||||
{"address": self.address, "medium": "email"}
|
||||
)
|
||||
|
||||
@@ -65,7 +65,7 @@ class ThreepidISRewrittenURLTestCase(unittest.HomeserverTestCase):
|
||||
* the original, non-rewritten, server name is stored in the database
|
||||
"""
|
||||
handler = self.hs.get_handlers().identity_handler
|
||||
post_urlenc_get_json = self.hs.get_simple_http_client().post_urlencoded_get_json
|
||||
post_json_get_json = self.hs.get_simple_http_client().post_json_get_json
|
||||
store = self.hs.get_datastore()
|
||||
|
||||
creds = {"sid": "123", "client_secret": "some_secret"}
|
||||
@@ -84,7 +84,7 @@ class ThreepidISRewrittenURLTestCase(unittest.HomeserverTestCase):
|
||||
self.assertEqual(data.get("address"), self.address)
|
||||
|
||||
# Check that the request was done against the rewritten server name.
|
||||
post_urlenc_get_json.assert_called_once_with(
|
||||
post_json_get_json.assert_called_once_with(
|
||||
"https://%s/_matrix/identity/api/v1/3pid/bind" % self.rewritten_is_url,
|
||||
{
|
||||
"sid": creds["sid"],
|
||||
|
||||
Reference in New Issue
Block a user