teamhanko / passkeys

FIDO2-certified passkey server and SDKs for adding passkey support to any auth system
https://hanko.io/passkey-api
GNU Affero General Public License v3.0
115 stars 8 forks source link

Make WebAuthn params configurable #45

Closed FlxMgdnz closed 4 months ago

FlxMgdnz commented 6 months ago

Add config options for

shentschel commented 6 months ago

I cannot find registration hints in the webauthn library. Do they also have another name?

FlxMgdnz commented 6 months ago

I cannot find registration hints in the webauthn library. Do they also have another name?

It's a level 3 feature, but it seems that Google has already implemented hints.

FlxMgdnz commented 6 months ago

Discussed this with @FreddyDevelop yesterday. We currently see three different use cases for WebAuthn that we should support:

Passkey as first factor

The default passkey use case. The login page offers either a "Sign in with a passkey" button, or passkey autofill, or both. No username entry is required to initialize the passkey flow. Passkey creation happens during user onboarding or on the account setting page for authenticated users.

Create()

Get()

Passkeys for reauthentication

Prompt for a passkey to reauthenticate a user, e.g. when accessing the account settings page or other high-value features of the RP app.

Get()

2FA

Usually a security key, but Hybrid flow can also be used in current browser implementations, so 2nd factor synced passkeys cannot be prevented without nuking the UX through attestation. It is nice to allow existing passkeys to be used for 2FA as well, but Create() should probably be limited to security keys as 2nd factors as described below.

Create()

Get()

shentschel commented 6 months ago

So that and https://github.com/teamhanko/passkeys/issues/33 are required to offer these options?