authenticate method

  1. @override
Future<String> authenticate([
  1. String? transactionId,
  2. bool? isConditionalMediation
])
override

Implementation

@override
Future<String> authenticate([String? transactionId, bool? isConditionalMediation]) async {
  final passkeysSupported = await canAuthenticateWithPasskey();
  if (!passkeysSupported) {
    throw PassageError(code: PasskeyErrorCode.passkeysNotSupported);
  }
  try {
    final resultPromise = passage.passkey.authenticate(IPasskeyAuthenticateOptions(
      transactionId: transactionId,
      isConditionalMediation: isConditionalMediation,
    ));
    final string = await js_util.promiseToFuture(resultPromise);
    return string;
  } catch (e) {
    throw PassageError.fromObject(
        object: e, overrideCode: PasskeyErrorCode.passkeysNotSupported);
  }
}