register method

  1. @override
Future<PassKeyPair> register(
  1. String name,
  2. bool requiresUserVerification
)
override

Registers a user and returns a PassKeyPair key pair.

  • name: The user name.
  • requiresUserVerification: True if user verification is required.

Returns a PassKeyPair.

Implementation

@override
Future<PassKeyPair> register(
    String name, bool requiresUserVerification) async {
  final attestation = await _register(name, requiresUserVerification);
  final authData = _decodeAttestation(attestation);
  if (authData.publicKey.length != 2) {
    throw "Invalid public key";
  }
  _defaultId = authData.credentialId;
  return PassKeyPair(
    hexToBytes(authData.credentialHex),
    authData.credentialId,
    [
      Uint256.fromHex(authData.publicKey[0]),
      Uint256.fromHex(authData.publicKey[1]),
    ],
    name,
    authData.aaGUID,
    DateTime.now(),
  );
}