AuthEndpoints 4.0.0
dotnet add package AuthEndpoints --version 4.0.0
NuGet\Install-Package AuthEndpoints -Version 4.0.0
<PackageReference Include="AuthEndpoints" Version="4.0.0" />
<PackageVersion Include="AuthEndpoints" Version="4.0.0" />
<PackageReference Include="AuthEndpoints" />
paket add AuthEndpoints --version 4.0.0
#r "nuget: AuthEndpoints, 4.0.0"
#:package AuthEndpoints@4.0.0
#addin nuget:?package=AuthEndpoints&version=4.0.0
#tool nuget:?package=AuthEndpoints&version=4.0.0
AuthEndpoints
AuthEndpoints is an ASP.NET Core library of ready-made auth API endpoints on top of Identity. It fits a first-party auth API for web and mobile clients (React, Next.js, Vue, Nuxt, Svelte, native apps, and similar) with email/password, cookies, JWT, and/or passkeys.
- Ready-made endpoints for registration, login, password reset, 2FA, and session/token flows
- Opinionated password facade with
AddPasswordAuth/UseAuthEndpoints/MapPasswordAuth(cookie by default, JWT viaAuthEndpointsSession.Jwt) - 3.x compatibility facade
AddAuthEndpoints/MapAuthEndpoints(cookie by default, Identity bearer viaAuthEndpointsSignIn.IdentityBearer) - Account lifecycle: register, confirm email, forgot/reset password, manage info and 2FA, step-up ReAuth
- Sign-in stacks you choose: cookie sessions, Identity bearer tokens, or Simple JWT
- Passkeys (WebAuthn) for passwordless register and login
- Optional emailed one-time codes (
POST /identity/emailCode/sendandPOST /identity/emailCode/verify). Sign-up and magic links stay off until you enable them - Built-in hardening: rate limiting, antiforgery, lockout-aware login, hashed JWT refresh tokens with reuse detection
- GitHub and Google OAuth in
AuthEndpoints.OAuth.GitHubandAuthEndpoints.OAuth.Google. The endpoints live in the core package. Compose them. The facades do not map them. See External OAuth
Getting started
Requires .NET 10, ASP.NET Core Identity, and EF Core.
dotnet add package AuthEndpoints
builder.Services.AddDbContext<AppDbContext>(/* your provider */);
builder.Services.AddPasswordAuth<AppUser, AppDbContext>(o =>
{
o.Passkeys.ServerDomain = "example.com"; // omit to leave passkeys off
});
builder.Services.AddTransient<IEmailSender<AppUser>, MyEmailSender>();
var app = builder.Build();
app.UseAuthEndpoints();
app.MapPasswordAuth<AppUser>();
app.Run();
AddAuthEndpoints / MapAuthEndpoints are the 3.x facade, kept for compatibility, including Identity bearer. Do not call both facades in one host. Upgrading from 3.x: Upgrade to 4.0.
Documentation
For configuration, composable modules, route tables, and production guidance, see the AuthEndpoints documentation.
AI agents
Add the coding-agent skill from this repository:
npx skills add madeyoga/AuthEndpoints
See AI agents.
Contribute
Issues and pull requests are welcome. Open an issue at madeyoga/AuthEndpoints to report bugs or propose changes.
License
This project is licensed under the MIT License.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- Microsoft.AspNetCore.Authentication.JwtBearer (>= 10.0.2)
- Microsoft.AspNetCore.Identity.EntityFrameworkCore (>= 10.0.2)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on AuthEndpoints:
| Package | Downloads |
|---|---|
|
AuthEndpoints.External.OAuth
Forwarding shim. The external OAuth endpoints moved into AuthEndpoints 4.0. Remove this package reference; no code changes are needed. |
|
|
AuthEndpoints.OAuth.GitHub
GitHub OAuth provider for AuthEndpoints. Registers the GitHub handler only. Map routes with MapExternalAuthProvider. |
|
|
AuthEndpoints.OAuth.Google
Google OAuth provider for AuthEndpoints. Registers the Google handler only. Map routes with MapExternalAuthProvider. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated | |
|---|---|---|---|
| 4.0.0 | 75 | 10/15/2026 | |
| 3.4.1 | 83 | 10/12/2026 | |
| 3.4.0 | 87 | 10/12/2026 | |
| 3.3.1 | 83 | 10/12/2026 | |
| 3.3.0 | 88 | 10/11/2026 | |
| 3.2.0 | 163 | 10/8/2026 | |
| 3.1.1 | 89 | 10/4/2026 | |
| 3.1.0 | 252 | 9/20/2026 | |
| 3.0.8 | 117 | 9/19/2026 | |
| 3.0.7 | 149 | 9/8/2026 | |
| 3.0.6 | 118 | 9/7/2026 | |
| 3.0.5 | 134 | 9/6/2026 | |
| 3.0.4 | 126 | 9/4/2026 | |
| 3.0.3 | 129 | 9/2/2026 | |
| 3.0.2 | 128 | 8/31/2026 | |
| 3.0.1 | 166 | 8/28/2026 | |
| 3.0.0 | 154 | 8/27/2026 | |
| 3.0.0-rc.4 | 111 | 8/2/2026 | |
| 3.0.0-rc.3 | 104 | 7/30/2026 | |
| 3.0.0-rc.2 | 142 | 7/25/2026 |
4.0.0. One sign-in completer, email-code step-up, JWT body refresh with an absolute lifetime, set-password, and AddPasswordAuth. AddAuthEndpoints stays the 3.4.1 facade. See the 4.0 upgrade guide.