getPasskeyInstance static method
Registers a fresh passkey via provider and returns a signer for it.
Only call this when creating a passkey wallet for the first time; to use an
existing passkey whose public key is unknown, see signAndRecover.
Implementation
static Future<PasskeyKeypair> getPasskeyInstance(
PasskeyProvider provider,
) async {
final registration = await provider.create();
final uncompressed = parseDerSPKI(registration.publicKeyDer);
final compressed = curve256r1Params.curve
.decodePoint(uncompressed)!
.getEncoded(true);
return PasskeyKeypair(
Uint8List.fromList(compressed),
provider,
registration.credentialId,
);
}