mirror of
https://github.com/dani-garcia/vaultwarden.git
synced 2025-12-09 09:13:02 +03:00
Session deauthorization doesn't log out offline clients #799
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @SoOutnumb3r3d on GitHub.
Subject of the issue
Using the Deauthorize Sessions feature of the web client isn't logging out all clients immediately like it should. I've experimented a bunch of times to try to figure out in what scenarios clients are logged out and when they're not.
So far, I've found that after deauthorizing sessions:
I've tested this behaviour against vault.bitwarden.com, and over there deauthorizing sessions does what one expects (immediate logout of all clients, regardless of whether they're running or online/offline).
Deployment environment
Your environment (Generated via diagnostics page)
Config (Generated via diagnostics page)
Show Running Config
Environment settings which are overridden:
Mac desktop, Windows desktop, web vault, iOS, Safari, Chrome, Edge
Steps to reproduce
Expected behaviour
All clients logged out immediately following deauthorization of all sessions.
Actual behaviour
Some clients that were offline when sessions were deauthorized remain logged in with full access to cached data when launched.
@SoOutnumb3r3d commented on GitHub:
I don't use Firefox, but when it happens to me on the Safari and Chrome extensions it behaves like the desktop client -- it doesn't log me out when I tell it to sync.
I've been running websockets using port 80 since switching over to the testing build.
To test whether it's influenced by Mobile Push, I still had my vaultwarden:latest container so I just ran a test on that one (which uses 3012 for websockets). Same behaviour as vaultwarden:testing, except that the iOS client didn't log out automatically due to lack of push.
@BlackDex commented on GitHub:
I did some quick testing and twice it seemed to fully logout all clients which were connected if i keep them active.
If i close the Desktop Client, and start after the deauth, I am able to unlock (not login) the vault.
If i then try to sync it indeed keeps active and doesn't log out. While it does for the Firefox Extension for example.
It still allows me to unlock, but when i want it to sync, it will log out the extension.
So, there seems to be something strange for the Desktop Client, and i have not yet tested a Bitwarden (Self) hosted environment yet.
I do wonder, what happens if you disable the Mobile Push feature? Does that then still cause the same behaviour?
Also, which web-sockets way do you use? Are you still using port 3012? Or have you disabled those and are you using web-sockets over the main port?
@BlackDex commented on GitHub:
@SoOutnumb3r3d I just tested a Bitwarden Self-Hosted environment, and it behaves exactly the same for me as Vaultwarden does.
There is just one client which doesn't logout, only after a sync it does and that is the Desktop client.
So, for me it works as expected and Vaultwarden behaves the same as Bitwarden does.
I used Chromium and Firefox both extensions and web-vault and also the Desktop Client.
So, i actually think we can't do anything to solve your issue.
All the clients are build to are able to work offline and if someone just disables the internet and unlocks the vault they can access the vault and export (if they know the password of course).
In regards to the Desktop Client, you might want to test it also on
vault.bitwarden.comand if that has the same results, report an issue there.