feat(E21-S2): ProviderEnrollment implementations for face, FIDO2, and fingerprint providers #32

Closed
opened 2026-07-29 12:14:25 +02:00 by elegos · 0 comments
Owner

Part of EPIC-21 (#24). See LLD: docs/lld/enrollment-session.md

What

Implement the ProviderEnrollment trait (defined in S1/#31) for all three session-based providers:

Face (linux-hello-face/src/provider.rs)

  • Wrap existing enroll() loop with EnrollSignal emission (PoseRequired, PoseCaptured, PoseRetry, Frame)
  • Return rmp_serde::to_vec(&embeddings) as credential bytes

FIDO2 (linux-hello-fido2/src/provider.rs)

  • Emit EnrollSignal::Step { instruction: "tap_key" }
  • Call make_credential, return rmp_serde::to_vec(&credential)

Fingerprint (linux-hello-fingerprint/src/provider.rs)

  • Emit EnrollSignal::Step { instruction: "place_finger" }
  • Delegate to existing FingerprintProvider::enroll (fprintd-backed)
  • Return empty Vec<u8> (no local DB write needed)

Dependencies

  • S1 / #31 must be merged first
Part of EPIC-21 (#24). See LLD: docs/lld/enrollment-session.md ## What Implement the `ProviderEnrollment` trait (defined in S1/#31) for all three session-based providers: **Face (`linux-hello-face/src/provider.rs`)** - Wrap existing `enroll()` loop with `EnrollSignal` emission (PoseRequired, PoseCaptured, PoseRetry, Frame) - Return `rmp_serde::to_vec(&embeddings)` as credential bytes **FIDO2 (`linux-hello-fido2/src/provider.rs`)** - Emit `EnrollSignal::Step { instruction: "tap_key" }` - Call `make_credential`, return `rmp_serde::to_vec(&credential)` **Fingerprint (`linux-hello-fingerprint/src/provider.rs`)** - Emit `EnrollSignal::Step { instruction: "place_finger" }` - Delegate to existing `FingerprintProvider::enroll` (fprintd-backed) - Return empty `Vec<u8>` (no local DB write needed) ## Dependencies - S1 / #31 must be merged first
elegos added this to the Foundation project 2026-07-29 12:16:55 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
elegos/linux-hello#32
No description provided.