Passkey (FIDO2) authentication mechanism
Passkey authentication consists of two main steps: (1) Authenticator Registration and (2) Authentication (Login). This section briefly explains the flow of each process.
(1) Authenticator Registration Flow
This is the process flow for when a user registers their login credential (passkey) with the service for the first time.
- Flow Overview:
-
The user initiates passkey registration on your service.
-
Your service requests registration data from our service via the SDK.
-
The user performs user verification (e.g., fingerprint or face scan) on their device, such as a smartphone, using the received data.
-
A private key and public key pair is created within the authenticator.
-
The private key is stored securely inside the authenticator and never leaves it.
-
Only the public key is registered with our service and is used for verification during future logins.
(2) Authentication (Login) Flow
This is the process flow for when a registered user logs into the service.
- Flow Overview:
-
The user attempts to log in to your service.
-
Your service requests authentication data (a challenge) from our service via the SDK.
-
Based on the received data, the user performs user verification with their authenticator.
-
The authenticator uses its stored private key to create a “digital signature” proving the user’s identity.
-
Our service uses the registered public key to verify that the signature is valid.
-
If the verification is successful, the login is granted.