Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Commit

Permalink
Merge pull request #5658 from matrix-org/babolivier/is-json
Browse files Browse the repository at this point in the history
  • Loading branch information
anoadragon453 committed Feb 17, 2020
2 parents ee2de67 + 8ab3444 commit 84a1465
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 5 deletions.
1 change: 1 addition & 0 deletions changelog.d/5658.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fix 3PID bind requests being sent to identity servers as `application/x-form-www-urlencoded` data, which is deprecated.
2 changes: 1 addition & 1 deletion synapse/handlers/identity.py
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ def bind_threepid(self, creds, mxid):
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},
)
Expand Down
8 changes: 4 additions & 4 deletions tests/handlers/test_identity.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ def make_homeserver(self, reactor, clock):
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"}
)

Expand All @@ -65,7 +65,7 @@ def test_rewritten_id_server(self):
* 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"}
Expand All @@ -84,7 +84,7 @@ def test_rewritten_id_server(self):
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"],
Expand Down

0 comments on commit 84a1465

Please sign in to comment.