AuthEndpoints 4.0.4
See the version list below for details.
dotnet add package AuthEndpoints --version 4.0.4
NuGet\Install-Package AuthEndpoints -Version 4.0.4
<PackageReference Include="AuthEndpoints" Version="4.0.4" />
<PackageVersion Include="AuthEndpoints" Version="4.0.4" />
<PackageReference Include="AuthEndpoints" />
paket add AuthEndpoints --version 4.0.4
#r "nuget: AuthEndpoints, 4.0.4"
#:package AuthEndpoints@4.0.4
#addin nuget:?package=AuthEndpoints&version=4.0.4
#tool nuget:?package=AuthEndpoints&version=4.0.4
<p align="center"> <img src="https://raw.githubusercontent.com/madeyoga/AuthEndpoints/main/.github/assets/banner.png" alt="AuthEndpoints: authentication library for ASP.NET Core Identity" width="100%"> </p>
AuthEndpoints
<p> <a href="https://github.com/madeyoga/AuthEndpoints/actions/workflows/dotnet.yml"><img src="https://github.com/madeyoga/AuthEndpoints/actions/workflows/dotnet.yml/badge.svg?branch=main" alt="Build"></a> <a href="https://www.nuget.org/packages/AuthEndpoints"><img src="https://img.shields.io/nuget/v/AuthEndpoints.svg?style=flat&colorA=18181B&colorB=14B8A6" alt="Version"></a> <a href="https://www.nuget.org/packages/AuthEndpoints"><img src="https://img.shields.io/nuget/dt/AuthEndpoints.svg?style=flat&colorA=18181B&colorB=14B8A6" alt="Downloads"></a> <a href="https://github.com/madeyoga/AuthEndpoints/blob/main/LICENSE"><img src="https://img.shields.io/github/license/madeyoga/AuthEndpoints.svg?style=flat&colorA=18181B&colorB=14B8A6" alt="License"></a> <a href="https://authendpoints.harten.id"><img src="https://img.shields.io/badge/Docs-18181B?logo=dotnet" alt="Docs"></a> </p>
AuthEndpoints is an authentication library for ASP.NET Core Identity that gives you ready-made login, register, refresh, 2FA, passkey and password reset endpoints. It is for your own web and mobile clients. You keep ASP.NET Core Identity, your user type, and your database.
- Cookie sessions for browser apps, and JWT bearer sessions for token clients, including refresh
- Two-factor authentication with authenticator codes and recovery codes
- Passkeys (WebAuthn) for passwordless register and login
- Email-code sign-in. Account creation and magic links stay off until you enable them
- Password facade with
AddPasswordAuth,UseAuthEndpoints, andMapPasswordAuth. Cookie is the default session. SetAuthEndpointsSession.Jwtfor a JWT bearer session - Account lifecycle: register, confirm email, forgot and reset password, manage account info, and step-up ReAuth
- Hardening on the routes: rate limits, antiforgery, lockout-aware login, and hashed JWT refresh tokens with reuse detection
- GitHub and Google sign-in through
AuthEndpoints.OAuth.GitHubandAuthEndpoints.OAuth.Google. The endpoints live in the core package. Compose them. The password facade does not map them. See External OAuth
Built for first-party SPAs, mobile apps, and APIs. If you need SSO, OAuth for third-party clients, or a full identity server, see when not to use AuthEndpoints.
If AuthEndpoints saves you time, please give the repository a star.
Why not MapIdentityApi?
MapIdentityApi maps one fixed set of Identity API endpoints. AuthEndpoints covers register, login, refresh, and password reset, and adds cookie sessions, JWT bearer sessions, passkeys, logout, and a choice of which routes to map.
The route-by-route comparison is in AuthEndpoints compared with MapIdentityApi.
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();
Documentation
Guides, route tables, and production setup are at https://authendpoints.harten.id.
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. Read CONTRIBUTING.md first, and look for issues labeled good first issue to get started.
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.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. |
|
|
AuthEndpoints.External.OAuth
Forwarding shim. The external OAuth endpoints moved into AuthEndpoints 4.0. Remove this package reference; no code changes are needed. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.1.0 | 55 | 10/31/2026 |
| 4.0.4 | 609 | 10/27/2026 |
| 4.0.3 | 101 | 10/23/2026 |
| 4.0.2 | 89 | 10/20/2026 |
| 4.0.1 | 99 | 10/18/2026 |
| 4.0.0 | 501 | 10/15/2026 |
| 3.4.1 | 102 | 10/12/2026 |
| 3.4.0 | 102 | 10/12/2026 |
| 3.3.1 | 96 | 10/12/2026 |
| 3.3.0 | 104 | 10/11/2026 |
| 3.2.0 | 232 | 10/8/2026 |
| 3.1.1 | 105 | 10/4/2026 |
| 3.1.0 | 259 | 9/20/2026 |
| 3.0.8 | 128 | 9/19/2026 |
| 3.0.7 | 168 | 9/8/2026 |
| 3.0.6 | 133 | 9/7/2026 |
| 3.0.5 | 147 | 9/6/2026 |
| 3.0.4 | 137 | 9/4/2026 |
| 3.0.3 | 140 | 9/2/2026 |
| 3.0.2 | 137 | 8/31/2026 |
When TUser does not derive from IdentityUser, the error names the user type. A missing RSA, ECDsa, or X509 signing key error names the property to set and the algorithm that needs it.