Modern .NET Identity, Open Source & Modular

The open, modular identity platform for .NET—future-ready, developer-first, and free from vendor lock-in.

Build Status MIT License NuGet Version
CoreIdent Logo
🌐

Modern & Open Source

MIT licensed, .NET 9+ native, and free to use in any project—commercial or OSS.

🧩

Modular by Design

Lean core, plug-in providers, and storage. Use only what you need, nothing you don't.

🚀

Future-Ready

Built for modern .NET (9+) with planned support for passkeys, WebAuthn, Web3, and decentralized identity.

Coming Soon
👨‍💻

Developer-First

Minimal boilerplate, convention over configuration, and fast setup for real-world apps.

Features at a Glance

🔑

OAuth 2.0 & OIDC

Authorization Code (PKCE), Client Credentials, ID Tokens, Discovery, JWKS endpoints.

🛡️

User Consent

Standards-based user consent flow, persistent storage, and easy integration.

🔄

Refresh Token Security

Secure rotation, theft detection, persistent, hashed storage, and family revocation.

🗄️

Flexible Storage

In-memory, EF Core, or delegate to your existing user system. Easy to extend.

🧑‍💼

Admin & UI Packages

Optional admin UI and web components for user flows, consent, and management.

Coming Soon
⚙️

MFA & WebAuthn

Multi-factor authentication framework, Passkeys/WebAuthn support, and external providers.

Coming Soon

Current Status

Open for Your Contribution

Join the CoreIdent community on GitHub.
GitHub Stars NuGet Downloads

Get Started in 1 Minute

  1. Install NuGet Packages:
    dotnet add package CoreIdent.Core
    dotnet add package CoreIdent.Storage.EntityFrameworkCore
  2. Configure in appsettings.json:
    {
      "CoreIdent": {
        "Issuer": "https://your-issuer-uri",
        "Audience": "your-api-audience",
        // Note: This key is used for the default HS256 symmetric signing.
        "SigningKeySecret": "YOUR_VERY_STRONG_SECRET_KEY_HERE"
      }
    }
  3. Register Services in Program.cs:
    // Add CoreIdent
    builder.Services.AddCoreIdent(builder.Configuration.GetSection("CoreIdent"));
    // Add storage (EF Core example)
    builder.Services.AddDbContext<YourDbContext>(options => /* ... */);
    builder.Services.AddCoreIdentEntityFrameworkStores<YourDbContext>();
    app.MapCoreIdentEndpoints();
View on GitHub Full Documentation