mirror of
https://github.com/pocket-id/pocket-id.git
synced 2025-12-06 09:13:19 +03:00
🚀 Feature: require reauthentication before adding new passkey #4
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 @James18232 on GitHub.
Feature description
Feature request to require the user reauthenticate before adding a new passkey to a pocketID instance (both via code generation to send to a user for use, or directly within pocket id for an admin).
This would obviously not apply to initial passkey setup.
Pitch
This is a hardening step/zero trust approach that removes the risk of a compromised instance leading to persistent access via unauthorised passkeys being added.
The user should have to prove ownership of an existing passkey to add or authorise another for pocket ID.
I consider this important due to the inherent risks of sso allowing unintended access to the pocket ID instance via horizontal movement, poor digital hygiene or otherwise compromised security.
@stonith404 commented on GitHub:
I’m not sure this change makes sense. If we add a re-authentication prompt here, we should also require it for creating API keys and creating new users, since both actions can also give an attacker “infinite” access. That would make the flow quite annoying for legitimate users.
If you’re concerned about this risk, a simpler approach is to lower the session duration so tokens expire quickly. You might also want to look at #780, which suggests to add the option to choose between long-lived and short-lived sessions.
@James18232 commented on GitHub:
Noted.
This could also be solved by having a setting to require reauthentication for pocket ID itself, not just for clients.