registerPasskey method
Future<void>
registerPasskey(
- Session session, {
- required UuidValue authUserId,
- required PasskeyRegistrationRequest request,
- required Transaction? transaction,
Links the given passkey to the authUserId.
Implementation
Future<void> registerPasskey(
final Session session, {
required final UuidValue authUserId,
required final PasskeyRegistrationRequest request,
required final Transaction? transaction,
}) async {
final challenge = await _consumeChallenge(
session,
request.challengeId,
transaction: transaction,
);
await _passkeys.verifyRegistration(
keyId: request.keyId.asUint8List,
attestationObject: request.attestationObject.asUint8List,
clientDataJSON: request.clientDataJSON.asUint8List,
challenge: challenge.challenge.asUint8List,
);
await PasskeyAccount.db.insertRow(
session,
PasskeyAccount(
authUserId: authUserId,
keyId: request.keyId,
keyIdBase64: base64Encode(request.keyId.asUint8List),
clientDataJSON: request.clientDataJSON,
attestationObject: request.attestationObject,
originalChallenge: challenge.challenge,
),
transaction: transaction,
);
}