mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-05 14:44:55 -04:00
Remove the 'password_hash' from the Users Admin API endpoint response dictionary (#11576)
This commit is contained in:
parent
904bb04409
commit
18862f20b5
5 changed files with 86 additions and 43 deletions
|
@ -1181,6 +1181,7 @@ class UserRestTestCase(unittest.HomeserverTestCase):
|
|||
self.other_user, device_id=None, valid_until_ms=None
|
||||
)
|
||||
)
|
||||
|
||||
self.url_prefix = "/_synapse/admin/v2/users/%s"
|
||||
self.url_other_user = self.url_prefix % self.other_user
|
||||
|
||||
|
@ -1188,7 +1189,7 @@ class UserRestTestCase(unittest.HomeserverTestCase):
|
|||
"""
|
||||
If the user is not a server admin, an error is returned.
|
||||
"""
|
||||
url = "/_synapse/admin/v2/users/@bob:test"
|
||||
url = self.url_prefix % "@bob:test"
|
||||
|
||||
channel = self.make_request(
|
||||
"GET",
|
||||
|
@ -1216,7 +1217,7 @@ class UserRestTestCase(unittest.HomeserverTestCase):
|
|||
|
||||
channel = self.make_request(
|
||||
"GET",
|
||||
"/_synapse/admin/v2/users/@unknown_person:test",
|
||||
self.url_prefix % "@unknown_person:test",
|
||||
access_token=self.admin_user_tok,
|
||||
)
|
||||
|
||||
|
@ -1337,7 +1338,7 @@ class UserRestTestCase(unittest.HomeserverTestCase):
|
|||
"""
|
||||
Check that a new admin user is created successfully.
|
||||
"""
|
||||
url = "/_synapse/admin/v2/users/@bob:test"
|
||||
url = self.url_prefix % "@bob:test"
|
||||
|
||||
# Create user (server admin)
|
||||
body = {
|
||||
|
@ -1386,7 +1387,7 @@ class UserRestTestCase(unittest.HomeserverTestCase):
|
|||
"""
|
||||
Check that a new regular user is created successfully.
|
||||
"""
|
||||
url = "/_synapse/admin/v2/users/@bob:test"
|
||||
url = self.url_prefix % "@bob:test"
|
||||
|
||||
# Create user
|
||||
body = {
|
||||
|
@ -1478,7 +1479,7 @@ class UserRestTestCase(unittest.HomeserverTestCase):
|
|||
)
|
||||
|
||||
# Register new user with admin API
|
||||
url = "/_synapse/admin/v2/users/@bob:test"
|
||||
url = self.url_prefix % "@bob:test"
|
||||
|
||||
# Create user
|
||||
channel = self.make_request(
|
||||
|
@ -1515,7 +1516,7 @@ class UserRestTestCase(unittest.HomeserverTestCase):
|
|||
)
|
||||
|
||||
# Register new user with admin API
|
||||
url = "/_synapse/admin/v2/users/@bob:test"
|
||||
url = self.url_prefix % "@bob:test"
|
||||
|
||||
# Create user
|
||||
channel = self.make_request(
|
||||
|
@ -1545,7 +1546,7 @@ class UserRestTestCase(unittest.HomeserverTestCase):
|
|||
Check that a new regular user is created successfully and
|
||||
got an email pusher.
|
||||
"""
|
||||
url = "/_synapse/admin/v2/users/@bob:test"
|
||||
url = self.url_prefix % "@bob:test"
|
||||
|
||||
# Create user
|
||||
body = {
|
||||
|
@ -1588,7 +1589,7 @@ class UserRestTestCase(unittest.HomeserverTestCase):
|
|||
Check that a new regular user is created successfully and
|
||||
got not an email pusher.
|
||||
"""
|
||||
url = "/_synapse/admin/v2/users/@bob:test"
|
||||
url = self.url_prefix % "@bob:test"
|
||||
|
||||
# Create user
|
||||
body = {
|
||||
|
@ -2085,10 +2086,13 @@ class UserRestTestCase(unittest.HomeserverTestCase):
|
|||
self.assertEqual(HTTPStatus.OK, channel.code, msg=channel.json_body)
|
||||
self.assertEqual("@user:test", channel.json_body["name"])
|
||||
self.assertTrue(channel.json_body["deactivated"])
|
||||
self.assertIsNone(channel.json_body["password_hash"])
|
||||
self.assertEqual(0, len(channel.json_body["threepids"]))
|
||||
self.assertEqual("mxc://servername/mediaid", channel.json_body["avatar_url"])
|
||||
self.assertEqual("User", channel.json_body["displayname"])
|
||||
|
||||
# This key was removed intentionally. Ensure it is not accidentally re-included.
|
||||
self.assertNotIn("password_hash", channel.json_body)
|
||||
|
||||
# the user is deactivated, the threepid will be deleted
|
||||
|
||||
# Get user
|
||||
|
@ -2101,11 +2105,13 @@ class UserRestTestCase(unittest.HomeserverTestCase):
|
|||
self.assertEqual(HTTPStatus.OK, channel.code, msg=channel.json_body)
|
||||
self.assertEqual("@user:test", channel.json_body["name"])
|
||||
self.assertTrue(channel.json_body["deactivated"])
|
||||
self.assertIsNone(channel.json_body["password_hash"])
|
||||
self.assertEqual(0, len(channel.json_body["threepids"]))
|
||||
self.assertEqual("mxc://servername/mediaid", channel.json_body["avatar_url"])
|
||||
self.assertEqual("User", channel.json_body["displayname"])
|
||||
|
||||
# This key was removed intentionally. Ensure it is not accidentally re-included.
|
||||
self.assertNotIn("password_hash", channel.json_body)
|
||||
|
||||
@override_config({"user_directory": {"enabled": True, "search_all_users": True}})
|
||||
def test_change_name_deactivate_user_user_directory(self):
|
||||
"""
|
||||
|
@ -2177,9 +2183,11 @@ class UserRestTestCase(unittest.HomeserverTestCase):
|
|||
self.assertEqual(HTTPStatus.OK, channel.code, msg=channel.json_body)
|
||||
self.assertEqual("@user:test", channel.json_body["name"])
|
||||
self.assertFalse(channel.json_body["deactivated"])
|
||||
self.assertIsNotNone(channel.json_body["password_hash"])
|
||||
self._is_erased("@user:test", False)
|
||||
|
||||
# This key was removed intentionally. Ensure it is not accidentally re-included.
|
||||
self.assertNotIn("password_hash", channel.json_body)
|
||||
|
||||
@override_config({"password_config": {"localdb_enabled": False}})
|
||||
def test_reactivate_user_localdb_disabled(self):
|
||||
"""
|
||||
|
@ -2209,9 +2217,11 @@ class UserRestTestCase(unittest.HomeserverTestCase):
|
|||
self.assertEqual(HTTPStatus.OK, channel.code, msg=channel.json_body)
|
||||
self.assertEqual("@user:test", channel.json_body["name"])
|
||||
self.assertFalse(channel.json_body["deactivated"])
|
||||
self.assertIsNone(channel.json_body["password_hash"])
|
||||
self._is_erased("@user:test", False)
|
||||
|
||||
# This key was removed intentionally. Ensure it is not accidentally re-included.
|
||||
self.assertNotIn("password_hash", channel.json_body)
|
||||
|
||||
@override_config({"password_config": {"enabled": False}})
|
||||
def test_reactivate_user_password_disabled(self):
|
||||
"""
|
||||
|
@ -2241,9 +2251,11 @@ class UserRestTestCase(unittest.HomeserverTestCase):
|
|||
self.assertEqual(HTTPStatus.OK, channel.code, msg=channel.json_body)
|
||||
self.assertEqual("@user:test", channel.json_body["name"])
|
||||
self.assertFalse(channel.json_body["deactivated"])
|
||||
self.assertIsNone(channel.json_body["password_hash"])
|
||||
self._is_erased("@user:test", False)
|
||||
|
||||
# This key was removed intentionally. Ensure it is not accidentally re-included.
|
||||
self.assertNotIn("password_hash", channel.json_body)
|
||||
|
||||
def test_set_user_as_admin(self):
|
||||
"""
|
||||
Test setting the admin flag on a user.
|
||||
|
@ -2328,7 +2340,7 @@ class UserRestTestCase(unittest.HomeserverTestCase):
|
|||
Ensure an account can't accidentally be deactivated by using a str value
|
||||
for the deactivated body parameter
|
||||
"""
|
||||
url = "/_synapse/admin/v2/users/@bob:test"
|
||||
url = self.url_prefix % "@bob:test"
|
||||
|
||||
# Create user
|
||||
channel = self.make_request(
|
||||
|
@ -2392,18 +2404,20 @@ class UserRestTestCase(unittest.HomeserverTestCase):
|
|||
# Deactivate the user.
|
||||
channel = self.make_request(
|
||||
"PUT",
|
||||
"/_synapse/admin/v2/users/%s" % urllib.parse.quote(user_id),
|
||||
self.url_prefix % urllib.parse.quote(user_id),
|
||||
access_token=self.admin_user_tok,
|
||||
content={"deactivated": True},
|
||||
)
|
||||
self.assertEqual(HTTPStatus.OK, channel.code, msg=channel.json_body)
|
||||
self.assertTrue(channel.json_body["deactivated"])
|
||||
self.assertIsNone(channel.json_body["password_hash"])
|
||||
self._is_erased(user_id, False)
|
||||
d = self.store.mark_user_erased(user_id)
|
||||
self.assertIsNone(self.get_success(d))
|
||||
self._is_erased(user_id, True)
|
||||
|
||||
# This key was removed intentionally. Ensure it is not accidentally re-included.
|
||||
self.assertNotIn("password_hash", channel.json_body)
|
||||
|
||||
def _check_fields(self, content: JsonDict):
|
||||
"""Checks that the expected user attributes are present in content
|
||||
|
||||
|
@ -2416,13 +2430,15 @@ class UserRestTestCase(unittest.HomeserverTestCase):
|
|||
self.assertIn("admin", content)
|
||||
self.assertIn("deactivated", content)
|
||||
self.assertIn("shadow_banned", content)
|
||||
self.assertIn("password_hash", content)
|
||||
self.assertIn("creation_ts", content)
|
||||
self.assertIn("appservice_id", content)
|
||||
self.assertIn("consent_server_notice_sent", content)
|
||||
self.assertIn("consent_version", content)
|
||||
self.assertIn("external_ids", content)
|
||||
|
||||
# This key was removed intentionally. Ensure it is not accidentally re-included.
|
||||
self.assertNotIn("password_hash", content)
|
||||
|
||||
|
||||
class UserMembershipRestTestCase(unittest.HomeserverTestCase):
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue