linux-credentials / linux-credentials/libwebauthn

WebAuthn serialization (Web IDL/JSON)

Open
#134 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Rust
Stars
579
Forks
27
Avg merge
4d 6h
Merged PRs (30d)
1

Description

Use cases
  • Authenticators - Using libwebauthn to communicate with an authenticator
  • Request validation - Using libwebauthn to validate WebAuthn requests (origin checking) only, then passing the validated JSON request to a WebAuthn IDL-compatible password manager
  • Client processing - Using libwebauthn to perform WebAuthn client responsibilities (eg. client extension processing) before routing the request to another CTAP2-compatible virtual device (eg. password manager)
Changes
  • 1. Deserialization: Allow WebAuthn operations to be created form WebAuthn JSON, eg. MakeCredentialRequest::parseJson.
    • This should be optional, and it should still be possible to create requests manually.
    • The origin of the request should be exposed, allowing the client to perform origin checking.
    • The parser should separate known extensions from unknown extensions:
      • Known extensions should continue to be mapped to CTAP2 extension input structures;
      • Unknown extensions should be returned as a JSON dictionary, containing the original payload for optional (external) further processing.
  • 2. Serialization: Serialize responses back to WebAuthn JSON
TODOs
  • Challenge min length validation
  • Allow arbitrary size PRF inputs
  • Update examples to use JSON requests
Context

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating MakeCredentialRequest and the related WebAuthn and CTAP2 request/response types. Review the linked platform API issue and determine how optional JSON deserialization, origin exposure, extension handling, and response serialization should fit together. Done means WebAuthn JSON requests and responses are supported while manual request construction remains available.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
authentication, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.