registerWithPasskey method

  1. @override
Future<AuthResult> registerWithPasskey(
  1. String identifier,
  2. PasskeyCreationOptions? options
)
override

Implementation

@override
Future<AuthResult> registerWithPasskey(
    String identifier, PasskeyCreationOptions? options) async {
  final passkeysSupported = await deviceSupportsPasskeys();
  if (!passkeysSupported) {
    throw PassageError(code: PassageErrorCode.passkeysNotSupported);
  }
  try {
    final jsOptions = js_util.jsify(options?.toJson());
    final resultPromise = passage.register(identifier, jsOptions);
    final jsObject = await js_util.promiseToFuture(resultPromise);
    return AuthResult.fromJson(jsObject);
  } catch (e) {
    throw PassageError.fromObject(
        object: e, overrideCode: PassageErrorCode.passkeyError);
  }
}