I'm looking to secure my electron desktop app with user credentials (username + password), but I'm having a hard time finding the right technology to use. Requirements:
- Number of activations can be determined (e.g. x copies of the app can be activated at any given time)
- The user can deactivate/revoke access to all active instances remotely.
- The activated copy will not need to be re-authenticated manually indefinitely if the user does not log out remotely.
- For example, the user can authenticate themself, not use the desktop app for a long time then they aren't expected to log in again when they re-open it.
I am currently looking at JWT as it somewhat satisifes 2. However i've read that it's advised that the tokens not be saved in a database, so if I need to blacklist tokens, the blacklist would be a forever growing collection which is not ideal (unless you had a cronjob to remove expired tokens)
I'm not sure which solution would be ideal here that would meet the requirements.