[web] Update revokeAllUserSessions and rename it to removeSessionsFromRedis (#18360)

* Fix `revokeAllUserSessions` call in `_cleanupUser`

The user object should be passed, not the _id

* Change `revokeAllUserSessions` signature, take `req` and `stayLoggedIn` arguments

* Update uses of `revokeAllUserSessions`

* Fix promisified `revokeAllUserSessions` args

* Update tests

* Destroy or Regenerate the session in the end of `revokeAllUserSessions`

Per https://github.com/overleaf/internal/issues/17036#issuecomment-1938398570

* Revert "Destroy or Regenerate the session in the end of `revokeAllUserSessions`"

This reverts commit fe30734dbe45b27d2931d2e43a711d591bb85787.

* Rename `revokeAllUserSessions` to `removeSessionsFromRedis`

* Fixup tests

* Fix: add optional chaining in `req.sessionID` (!!)

GitOrigin-RevId: d41676bf00f463230af495e09c65fb9ee521f49f
This commit is contained in:
Antoine Clausse
2024-05-17 12:15:14 +02:00
committed by Copybot
parent 2f80db1299
commit 7fae1cbb2c
15 changed files with 79 additions and 61 deletions

View File

@@ -142,9 +142,9 @@ async function doMigration(emails) {
`Updating user ${userWithEmail._id} email "${oldEmail}" to "${newEmail}"\n`
)
try {
await UserSessionsManager.promises.revokeAllUserSessions(
userWithEmail,
[] // log out all the user's sessions before changing the email address
// log out all the user's sessions before changing the email address
await UserSessionsManager.promises.removeSessionsFromRedis(
userWithEmail
)
await UserUpdater.promises.migrateDefaultEmailAddress(