Conversation

Replying to and
Pervasive example: Client-side sessions via signed tokens prevent providing a list of active sessions with details and the ability to end them. It's useful for both the user and administrators to have them in the database. It feels cleaner to not track it properly but it isn't.
2
1
Replying to and
Even having only a counter for each account is essentially giving up on doing it client-side. What if the database has to be rolled back to a backup? Do you rotate the key and invalidate client-side state entirely? It's a problematic approach overall, I think. Not a fan.
1
1
Tempting to use authenticated encryption for client-side state and it seems super clean and simple until you really start thinking about all the things that could go wrong and the lack of oversight over state. Another example: recovering from server time being set incorrectly.
1
1
As another example: user logs out in their browser but then restores from a backup. They should still be logged out, but they won't be with client-side sessions. Same applies to other things. Not really avoiding a database but rather using a highly unreliable distributed one.
1