mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-08-12 22:25:32 -04:00
Make cleaning up pushers depend on the device_id instead of the token_id (#15280)
This makes it so that we rely on the `device_id` to delete pushers on logout, instead of relying on the `access_token_id`. This ensures we're not removing pushers on token refresh, and prepares for a world without access token IDs (also known as the OIDC). This actually runs the `set_device_id_for_pushers` background update, which was forgotten in #13831. Note that for backwards compatibility it still deletes pushers based on the `access_token` until the background update finishes.
This commit is contained in:
parent
68a6717312
commit
5b70f240cf
15 changed files with 142 additions and 65 deletions
|
@ -105,7 +105,7 @@ class EmailPusherTests(HomeserverTestCase):
|
|||
self.hs.get_datastores().main.get_user_by_access_token(self.access_token)
|
||||
)
|
||||
assert user_tuple is not None
|
||||
self.token_id = user_tuple.token_id
|
||||
self.device_id = user_tuple.device_id
|
||||
|
||||
# We need to add email to account before we can create a pusher.
|
||||
self.get_success(
|
||||
|
@ -117,7 +117,7 @@ class EmailPusherTests(HomeserverTestCase):
|
|||
pusher = self.get_success(
|
||||
self.hs.get_pusherpool().add_or_update_pusher(
|
||||
user_id=self.user_id,
|
||||
access_token=self.token_id,
|
||||
device_id=self.device_id,
|
||||
kind="email",
|
||||
app_id="m.email",
|
||||
app_display_name="Email Notifications",
|
||||
|
@ -141,7 +141,7 @@ class EmailPusherTests(HomeserverTestCase):
|
|||
self.get_success_or_raise(
|
||||
self.hs.get_pusherpool().add_or_update_pusher(
|
||||
user_id=self.user_id,
|
||||
access_token=self.token_id,
|
||||
device_id=self.device_id,
|
||||
kind="email",
|
||||
app_id="m.email",
|
||||
app_display_name="Email Notifications",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue