Skip to content

Add PRF Parsing#815

Draft
iinuwa wants to merge 2 commits intomainfrom
iinuwa/add-prf-parsing
Draft

Add PRF Parsing#815
iinuwa wants to merge 2 commits intomainfrom
iinuwa/add-prf-parsing

Conversation

@iinuwa
Copy link
Contributor

@iinuwa iinuwa commented Mar 5, 2026

🎟️ Tracking

PM-33111

📔 Objective

As part of the device auth key initiative, we need to be able to parse PRF input from the incoming make credential and get assertion requests. This adds types to parse the data from the extensions without having to parse the JSON manually.

Note that this enables parsing PRF input, but the authenticator is not evaluating PRF input on vault items. A follow-up PR will use the passkey-rs library to evaluate PRF input for the device auth key only.

(This PR also opens the door for supporting other extensions, like largeBlob.)

🚨 Breaking Changes

This changes the type of extensions fields on the MakeCredentialRequest and GetAssertionRequest structs to Option<MakeCredentialExtensionInputs> and Option<GetAssertionExtensionInputs>. (It also adds an extensions field to both MakeCredentialResult and GetAssertionResult, but that should be non-breaking as it should only be read from clients.)

However, these were previously Option<String>, and we do not support any extensions, so this is set to nil in the iOS client (the only consumer, currently). So no client code changes should be required.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 5, 2026

Logo
Checkmarx One – Scan Summary & Details44087711-a095-4d42-8831-32f6d7236889

Great job! No new security vulnerabilities introduced in this pull request

@github-actions
Copy link
Contributor

github-actions bot commented Mar 5, 2026

🔍 SDK Breaking Change Detection Results

SDK Version: iinuwa/add-prf-parsing (882aa37)
Completed: 2026-03-05 19:10:23 UTC
Total Time: 247s

Client Status Details
typescript ✅ No breaking changes detected TypeScript compilation passed with new SDK version - View Details

Breaking change detection completed. View SDK workflow

@iinuwa iinuwa force-pushed the iinuwa/add-prf-parsing branch 2 times, most recently from ca4f77b to ad2a87a Compare March 5, 2026 18:35
iinuwa added 2 commits March 5, 2026 12:58
This does not enable PRF extension processing for vault items, but enables us
to use this library for using device auth key passkeys.
@iinuwa iinuwa force-pushed the iinuwa/add-prf-parsing branch from ad2a87a to 882aa37 Compare March 5, 2026 18:58
@sonarqubecloud
Copy link

sonarqubecloud bot commented Mar 5, 2026

@codecov
Copy link

codecov bot commented Mar 5, 2026

Codecov Report

❌ Patch coverage is 89.96540% with 29 lines in your changes missing coverage. Please review.
✅ Project coverage is 82.36%. Comparing base (f8a75af) to head (882aa37).

Files with missing lines Patch % Lines
crates/bitwarden-fido/src/types.rs 87.80% 20 Missing ⚠️
crates/bitwarden-fido/src/authenticator.rs 92.80% 9 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #815      +/-   ##
==========================================
+ Coverage   81.77%   82.36%   +0.58%     
==========================================
  Files         344      344              
  Lines       41116    41401     +285     
==========================================
+ Hits        33623    34099     +476     
+ Misses       7493     7302     -191     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant