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

Commit c29d99b

Browse files
committed
Support MSC2033: Device ID on whoami
MSC: matrix-org/matrix-spec-proposals#2033 The MSC has passed FCP, which means stable endpoints can be used.
1 parent 6fc9dc0 commit c29d99b

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

synapse/rest/client/v2_alpha/account.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -884,7 +884,10 @@ def __init__(self, hs):
884884
async def on_GET(self, request):
885885
requester = await self.auth.get_user_by_req(request)
886886

887-
return 200, {"user_id": requester.user.to_string()}
887+
return 200, {
888+
"user_id": requester.user.to_string(),
889+
"device_id": requester.device_id,
890+
}
888891

889892

890893
def register_servlets(hs, http_server):

tests/rest/client/v2_alpha/test_account.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -458,6 +458,29 @@ def deactivate(self, user_id, tok):
458458
self.assertEqual(channel.code, 200)
459459

460460

461+
class WhoamiTestCase(unittest.HomeserverTestCase):
462+
463+
servlets = [
464+
synapse.rest.admin.register_servlets_for_client_rest_resource,
465+
login.register_servlets,
466+
account.register_servlets,
467+
register.register_servlets,
468+
]
469+
470+
def test_GET_whoami(self):
471+
device_id = "wouldgohere"
472+
user_id = self.register_user("kermit", "test")
473+
tok = self.login("kermit", "test", device_id=device_id)
474+
475+
whoami = self.whoami(tok)
476+
self.assertObjectHasAttributes({"user_id": user_id, "device_id": device_id}, whoami)
477+
478+
def whoami(self, tok):
479+
channel = self.make_request("GET", "account/whoami", {}, access_token=tok)
480+
self.assertEqual(channel.code, 200)
481+
return channel.json_body
482+
483+
461484
class ThreepidEmailRestTestCase(unittest.HomeserverTestCase):
462485

463486
servlets = [

0 commit comments

Comments
 (0)