Skip to content

feat: validate related origins for cross-domain passkeys#174

Merged
iinuwa merged 1 commit into
mainfrom
chore/related-origins
Jun 21, 2026
Merged

feat: validate related origins for cross-domain passkeys#174
iinuwa merged 1 commit into
mainfrom
chore/related-origins

Conversation

@AlfioEmanueleFresta

Copy link
Copy Markdown
Member

Enables related-origins validation so a passkey can be used from related domains the relying party lists. Stacked on the libwebauthn 0.8.0 bump. Note this adds the reqwest HTTP client to the dependency tree.

@AlfioEmanueleFresta

AlfioEmanueleFresta commented Jun 15, 2026

Copy link
Copy Markdown
Member Author

Claude: I was tasked with researching the size and dependency delta this PR adds by enabling the reqwest-backed related-origins source. I built credentialsd in release on this branch and on the base bump branch and compared the binary:

stripped raw
base (no reqwest) 9.59 MiB 11.34 MiB
with reqwest 11.30 MiB 13.44 MiB
delta +1.72 MiB (~18%) +2.10 MiB

That is +28 crates (hyper, h2, hyper-rustls, tower, tower-http, and similar). libwebauthn already trims reqwest to rustls-tls-native-roots, http2, stream, and charset, so there is no cookies, blocking client, or native-tls, and the quinn entries in Cargo.lock are never compiled or linked (no HTTP/3 in the binary).

Net cost is the async HTTP/2 and rustls client core, roughly 1.7 MiB and 28 crates.

@iinuwa iinuwa force-pushed the chore/bump-libwebauthn-0.8.0 branch from c1c250f to f33e997 Compare June 18, 2026 20:44
Base automatically changed from chore/bump-libwebauthn-0.8.0 to main June 18, 2026 20:44
Enables libwebauthn's reqwest-backed related-origins source.
@iinuwa iinuwa force-pushed the chore/related-origins branch from f420e19 to 02f7cca Compare June 18, 2026 20:49
@iinuwa

iinuwa commented Jun 18, 2026

Copy link
Copy Markdown
Member

(rebased after merging the 0.8.0 update)

@iinuwa

iinuwa commented Jun 21, 2026

Copy link
Copy Markdown
Member

I'm good to merge this, just leaving a note for posterity:

I think I would want to lean more into system TLS libraries to offload the patch responses to distros. I am also hoping that with other changes coming to Web PKI (certificate transparency changes with MTCs, PQC and CRLite support) that distros start centralizing more of those disparate features into a consolidated API. If that happens, that would be awesome to rely on the platform to do that. Opting into using the platform now means we might be able to just pick up those features without extra maintenance on our end. But we'll see if it materializes.

Regardless, this is a decision that can be deferred and doesn't affect the actual thing this is solving, which is unlocking related origins. I'm fine to merge this.

@iinuwa iinuwa merged commit 9762fde into main Jun 21, 2026
1 check passed
@iinuwa iinuwa deleted the chore/related-origins branch June 21, 2026 04:11
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.

2 participants