{
  "id": 2253065,
  "title": "I Brought IdentityServer Back to Life as Open Source (.NET 8)",
  "url": "https://urgent.news/2026/08/20/i-brought-identityserver-back-to-life-as-open-source-net-8",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-08-20T23:12:06.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/richard_vquezprez_c356/i-brought-identityserver-back-to-life-as-open-source-net-8-3374"
  },
  "original_language": "en",
  "account": "The original IdentityServer project has been revived as open source, utilizing the latest .NET 8 framework. The team behind this initiative recognized the potential in resurrecting the project instead of letting it fade away, so they recompiled the codebase for current .NET compatibility, rectified any issues, and subsequently released it under the Apache 2.0 license. This is not just a wrapper, but a fully functional identity server that has been comprehensively tested.\n\nThe service implements OAuth 2.0 + OpenID Connect with authorization code flow and PKCE, enabling a single login across all applications in the ecosystem. It issues JWT access tokens scoped per application (store.api, inventory.api, shared.scope), facilitating granular access control. The system supports independent roles and permissions per application, securely stored in MariaDB/MySQL databases. It operates on .NET 8 and can be accessed at http://localhost:5000.\n\nTo demonstrate its capabilities, the project includes two MVC sample applications, each with distinct permissions. The first application, Tienda, allows users to log in with the identity server using roles such as Vendedor (Seller) and Cajero (Cashier). Meanwhile, the second application, Inventario, permits users to access the shared scope and roles like Almacenista (Warehouse Manager) and Auditor.\n\nFor example, Alice, the user, can have different roles in each app - she serves as a Vendedor in Tienda and an Almacenista in Inventario. Each app independently queries its own database (app1_tienda for Tienda and app2_inventario for Inventario) and enforces its own policies. This is achieved by having each application register its permission policies and protect its endpoints with [Authorize] attribute in C#:\n\nThe code snippet adds authorization policies such as \"Venta.Crear\" (Create Sale) with a specific requirement of having the \"venta:crear\" permission.",
  "summary": "I Brought IdentityServer Back to Life as Open Source (.NET 8) The original IdentityServer project was commercialized. Instead of letting it die, I took the codebase, recompiled it for modern .NET, fixed what was broken, and released it as open source under the Apache 2.0 license. This is not a wrapper — it's a working identity server that I rebuilt and verified end-to-end, with two sample…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}