Passkey: Liquid Extension Guide
This is a WebAuthn extension that allows the service to verify the authenticity of a KeyPair
using a Passkey
.
The extension is used during the Registration and Authentication of Passkeys.
It is the heart of operations for the Liquid
service and is required for registration and peer-to-peer connections.
Who is this for?
- Wallets/Credential Managers that want to adopt Liquid Auth.
- Ecosystems that want to leverage the
Liquid Extension
for their networks.
๐งฎ Options
The service will expect the following options to be passed with the PublicKeyCredentialCreationOptions
and PublicKeyCredentialRequestOptions
:
This tells the service that the request is using the Liquid extension and expects to receive a Passkey
with additional information.
๐งช Handling Passkey
As of this writing, currently no Authenticators support the liquid
extension natively. The extension must be handled by the integrators
If you are developing an Authenticator, you will need to handle the liquid
extension in the PublicKeyCredentialCreationOptions
and PublicKeyCredentialRequestOptions
.
Feel free to edit this document if you have an Authenticator that supports the liquid
extension.
๐ Response
The response message should include the extension results in the liquid
key if it was enabled in the Options
.
It is mandatory to include the extension when registering new credentials with the Service.
โจ Registration
The reference implementation of the extension currently only supports the algorand
type.
It allows associating an Algorand address with the Passkey.
๐ Authentication
When using a previously registered Passkey, the client does not require the liquid extension. The service has attested to the additional keypair which represents an account and can rely on the WebAuthn standard for authentication.
Although the extension is not required, it is useful for establishing a Peer-to-Peer connection.