runPasskeyEnrollment function
void
runPasskeyEnrollment(})
Runs the passkey ENROLLMENT ceremony (session-scoped): register/options → native authenticator (create) → register/verify.
Implementation
void runPasskeyEnrollment(
Store<dynamic> store, {
required String label,
void Function()? onSuccess,
void Function()? onFinished,
void Function(String message)? onFailure,
}) {
store.dispatch(PostPasskeyRegisterOptions(
onSuccess: (resp) async {
try {
final parsed = _publicKeyOptions(resp.body);
final res = await _authenticator.register(
RegisterRequestType.fromJson(
parsed['publicKey'] as Map<String, dynamic>,
),
);
store.dispatch(PostPasskeyRegisterVerify(
parsed['flowId'] as String,
label,
res.toJson(),
onSuccess: (_) {
onFinished?.call();
onSuccess?.call();
},
onError: (e) {
onFinished?.call();
onFailure?.call(e.description ?? 'Passkey setup failed.');
},
));
} catch (e) {
onFinished?.call();
onFailure?.call(passkeyErrorMessage(e, setup: true));
}
},
onError: (e) {
onFinished?.call();
onFailure?.call(e.description ?? 'Passkey setup failed.');
},
));
}