Skip to content

Commit 7d5e9b8

Browse files
committed
Revoke personal sessions on user deactivation
1 parent be40e1b commit 7d5e9b8

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

crates/tasks/src/user.rs

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ use mas_storage::{
1010
RepositoryAccess,
1111
compat::CompatSessionFilter,
1212
oauth2::OAuth2SessionFilter,
13+
personal::PersonalSessionFilter,
1314
queue::{DeactivateUserJob, ReactivateUserJob},
1415
user::{BrowserSessionFilter, UserEmailFilter, UserRepository},
1516
};
@@ -80,6 +81,36 @@ impl RunnableJob for DeactivateUserJob {
8081
.map_err(JobError::retry)?;
8182
info!(affected = n, "Killed all compatibility sessions for user");
8283

84+
let n = repo
85+
.personal_session()
86+
.revoke_bulk(
87+
clock,
88+
PersonalSessionFilter::new()
89+
.for_actor_user(&user)
90+
.active_only(),
91+
)
92+
.await
93+
.map_err(JobError::retry)?;
94+
info!(
95+
affected = n,
96+
"Killed all compatibility sessions acting as user"
97+
);
98+
99+
let n = repo
100+
.personal_session()
101+
.revoke_bulk(
102+
clock,
103+
PersonalSessionFilter::new()
104+
.for_owner_user(&user)
105+
.active_only(),
106+
)
107+
.await
108+
.map_err(JobError::retry)?;
109+
info!(
110+
affected = n,
111+
"Killed all compatibility sessions owned by user"
112+
);
113+
83114
// Delete all the email addresses for the user
84115
let n = repo
85116
.user_email()

0 commit comments

Comments
 (0)