Fido2.Adapter 3.0.1

dotnet add package Fido2.Adapter --version 3.0.1
                    
NuGet\Install-Package Fido2.Adapter -Version 3.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Fido2.Adapter" Version="3.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Fido2.Adapter" Version="3.0.1" />
                    
Directory.Packages.props
<PackageReference Include="Fido2.Adapter" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Fido2.Adapter --version 3.0.1
                    
#r "nuget: Fido2.Adapter, 3.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Fido2.Adapter@3.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Fido2.Adapter&version=3.0.1
                    
Install as a Cake Addin
#tool nuget:?package=Fido2.Adapter&version=3.0.1
                    
Install as a Cake Tool

Fido2.Adapter

GitLab License NuGet Version

This is a cross-platform library that wraps multiple Fido2 libraries to provide a simple cross-platform adapter for FIDO2 authentication.

Fido2 is the standard for passwordless authentication. It is a set of specifications that define how to securely authenticate users without requiring them to remember passwords.

Features

  • Easy integration with FIDO2 authentication.
  • Supports various FIDO2 authenticators.
  • Compatible with .NET Framework 4.7.2.
  • Compatible with .NET 8.

Installation

To install Fido2.Adapter, you can use the NuGet Package Manager in Visual Studio or the Package Manager Console:

Install-Package Fido2.Adapter

Usage

This example uses DI to make Fido2ClientFactory available in your project

container.RegisterType<IFido2PersistenceService, Fido2PersistenceService>();
var fido2Configuration = new Fido2Configuration(
    "acme.co.uk",
    "Acme Co.",
    "https://www.acme.co.uk"
);
fido2Configuration.SetTimestampDriftTolerance(TimeSpan.FromMilliseconds(500));

container.RegisterInstance(fido2Configuration);

container.RegisterFactory<IFido2ClientFactory>(f => new Fido2ClientFactory(
    f.Resolve<Fido2Configuration>(), f.Resolve<Fido2PersistenceService>()));

Fido2PersistenceService is a service that implements IFido2PersistenceService, This allows the Fido2 Clients to persist passkey credentials in your application.

The Fido2ClientFactory exposes 3 clients for use in "Asserting", "Attesting" and "Managing" Fido2 Credentials.

Asserting is the process where the end user demonstrates to the relying party (the service they are trying to access) that they possess a valid FIDO2 credential. This involves the user presenting a cryptographic proof that they have access to the private key associated with the credential. The relying party then verifies this proof to confirm the user's identity without needing to know the actual private key.

In the context of FIDO2, asserting typically involves the following steps:

  1. User Interaction: The user interacts with their FIDO2 authenticator (such as a security key, fingerprint reader, or a smartphone app).
  2. Credential Presentation: The authenticator presents the public key and a cryptographic challenge to the relying party.
  3. Challenge Response: The authenticator signs the challenge using the private key associated with the credential.
  4. Verification: The relying party verifies the signature using the public key and the challenge. If the signature is valid, the user's identity is confirmed.

This process ensures that the user is who they claim to be without requiring them to remember a password, thereby enhancing security and user experience.

Attesting is the process where the end user creates a new FIDO2 credential. This involves the user registering a new credential with the relying party. The authenticator generates a new public-private key pair and sends the public key to the relying party, along with an attestation that the public key is valid and associated with the authenticator.

In the context of FIDO2, attesting typically involves the following steps:

  1. User Interaction: The user interacts with their FIDO2 authenticator (such as a security key, fingerprint reader, or a smartphone app).
  2. Credential Creation: The authenticator generates a new public-private key pair.
  3. Attestation: The authenticator sends the public key and an attestation to the relying party.
  4. Registration: The relying party verifies the attestation and registers the public key as a new credential.

This process ensures that the user's new credential is securely created and registered with the relying party, allowing for future authentication without passwords.

The management client is to allow for a predefined set of methods for CRUD operations on the saved credentials.

Models

Models package Fido2.Adapter.Models

License

This project is licensed under the Apache 2.0 License.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Framework net472 is compatible.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.0.1 92 2/11/2026
3.0.0 94 2/10/2026