Fido2.Adapter
3.0.1
dotnet add package Fido2.Adapter --version 3.0.1
NuGet\Install-Package Fido2.Adapter -Version 3.0.1
<PackageReference Include="Fido2.Adapter" Version="3.0.1" />
<PackageVersion Include="Fido2.Adapter" Version="3.0.1" />
<PackageReference Include="Fido2.Adapter" />
paket add Fido2.Adapter --version 3.0.1
#r "nuget: Fido2.Adapter, 3.0.1"
#:package Fido2.Adapter@3.0.1
#addin nuget:?package=Fido2.Adapter&version=3.0.1
#tool nuget:?package=Fido2.Adapter&version=3.0.1
Fido2.Adapter
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:
- User Interaction: The user interacts with their FIDO2 authenticator (such as a security key, fingerprint reader, or a smartphone app).
- Credential Presentation: The authenticator presents the public key and a cryptographic challenge to the relying party.
- Challenge Response: The authenticator signs the challenge using the private key associated with the credential.
- 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:
- User Interaction: The user interacts with their FIDO2 authenticator (such as a security key, fingerprint reader, or a smartphone app).
- Credential Creation: The authenticator generates a new public-private key pair.
- Attestation: The authenticator sends the public key and an attestation to the relying party.
- 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 | Versions 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. |
-
.NETFramework 4.7.2
- AutoMapper (>= 10.1.1)
- Fido2.Adapter.Models (>= 3.0.1)
- Fido2.NetFramework (>= 0.5.0)
- Newtonsoft.Json (>= 13.0.3)
- System.Text.Json (>= 9.0.1)
-
net8.0
- AutoMapper (>= 16.0.0)
- Fido2 (>= 4.0.0)
- Fido2.Adapter.Models (>= 3.0.1)
- Microsoft.AspNetCore.Http.Extensions (>= 2.3.0)
- Microsoft.AspNetCore.Session (>= 2.3.0)
- Newtonsoft.Json (>= 13.0.3)
- System.Text.Json (>= 9.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.