Matrixsoft.PwnedPasswords
1.1.0
dotnet add package Matrixsoft.PwnedPasswords --version 1.1.0
NuGet\Install-Package Matrixsoft.PwnedPasswords -Version 1.1.0
<PackageReference Include="Matrixsoft.PwnedPasswords" Version="1.1.0" />
paket add Matrixsoft.PwnedPasswords --version 1.1.0
#r "nuget: Matrixsoft.PwnedPasswords, 1.1.0"
// Install Matrixsoft.PwnedPasswords as a Cake Addin
#addin nuget:?package=Matrixsoft.PwnedPasswords&version=1.1.0
// Install Matrixsoft.PwnedPasswords as a Cake Tool
#tool nuget:?package=Matrixsoft.PwnedPasswords&version=1.1.0
Pwned Passwords
This library provides a simple HttpClient
instance that consumes Troy Hunt's PwnedPasswords API v3 and checks a password's integrity whether it has previously appeared in a data breach or not. It also includes ASP.NET Core Identity IPasswordValidator
implementation along with an extension method to inject it using Dependency Injection principle.
Installation
In Package Manager Console (Visual Studio), select a specified project into which you want to install the package and enter the command Install-Package Matrixsoft.PwnedPasswords
or use any of these methods according to your development environment.
Usage
For .NET Core app:
var client = new PwnedPasswordsClient();
var flag = await client.IsPasswordPwnedAsync(password);
if (flag)
{
// TODO: Failed
}
else
{
// TODO: Success
}
For ASP.NET Core Web app:
Add the password validator to ASP.NET Core Identity configuration using the IdentityBuilder
extension method in Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlite(
Configuration.GetConnectionString("DefaultConnection")));
services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)
.AddPwnedPasswordsValidator<IdentityUser>()
.AddEntityFrameworkStores<ApplicationDbContext>();
services.AddControllersWithViews();
services.AddRazorPages();
services.AddTransient<PwnedPasswordsClient>();
}
Thanks
Problems
If you run into bugs / have feature suggestions / have questions, please file a Github bug.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.AspNetCore.Identity (>= 2.2.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.