products
The most flexible and standards-compliant OpenID Connect and OAuth 2.x framework for ASP.NET Core
Top Related Projects
OpenID Connect and OAuth 2.0 Framework for ASP.NET Core
Flexible and versatile OAuth 2.0/OpenID Connect stack for .NET
IdentityModel extensions for .Net
The most scalable and customizable OpenID Certified™ OpenID Connect and OAuth Provider on the market. Become an OpenID Connect and OAuth2 Provider over night. Broad support for related RFCs. Written in Go, cloud native, headless, API-first. Available as a service on Ory Network and for self-hosters.
Open Source Identity and Access Management For Modern Applications and Services
Quick Overview
DuendeSoftware/products is a repository containing documentation and resources for Duende Software's identity and access control products. These products include IdentityServer, BFF (Backend for Frontend) Security Framework, and other related tools for implementing secure authentication and authorization in modern applications.
Pros
- Comprehensive suite of identity and access control solutions
- Well-documented and actively maintained
- Supports modern authentication protocols like OAuth 2.0 and OpenID Connect
- Flexible and customizable to fit various application architectures
Cons
- Some products require commercial licensing for production use
- Learning curve can be steep for newcomers to identity and access control
- Limited community contributions due to commercial nature of the products
- May require additional configuration and setup compared to simpler auth solutions
Code Examples
As this repository primarily contains documentation and resources rather than code, specific code examples are not applicable. However, the documentation provides detailed guidance on how to implement and use Duende Software's products in various scenarios.
Getting Started
To get started with Duende Software's products, follow these general steps:
- Visit the official Duende Software website: https://duendesoftware.com/
- Choose the product that best fits your needs (e.g., IdentityServer, BFF)
- Review the licensing options and select the appropriate plan
- Follow the product-specific documentation in the repository to set up and configure the chosen solution
- Implement the necessary integration code in your application
- Test and deploy your application with the Duende Software product
For detailed, product-specific instructions, refer to the documentation in the repository's docs
folder.
Competitor Comparisons
OpenID Connect and OAuth 2.0 Framework for ASP.NET Core
Pros of IdentityServer4
- Open-source and free for commercial use
- Extensive community support and contributions
- Well-established and mature project with a long history
Cons of IdentityServer4
- No longer actively maintained
- Limited future updates and security patches
- Lack of official support for newer technologies and standards
Code Comparison
IdentityServer4:
services.AddIdentityServer()
.AddInMemoryClients(Config.Clients)
.AddInMemoryApiScopes(Config.ApiScopes)
.AddInMemoryIdentityResources(Config.IdentityResources)
.AddTestUsers(Config.Users);
DuendeSoftware/products:
services.AddIdentityServer()
.AddInMemoryClients(Config.Clients)
.AddInMemoryApiScopes(Config.ApiScopes)
.AddInMemoryIdentityResources(Config.IdentityResources)
.AddTestUsers(Config.Users)
.AddDeveloperSigningCredential();
The code comparison shows that both projects have similar setup processes, with DuendeSoftware/products offering additional features like the developer signing credential. While IdentityServer4 is a well-established open-source solution, DuendeSoftware/products (Duende IdentityServer) is actively maintained and provides ongoing support and updates. However, Duende IdentityServer requires a commercial license for use in production environments.
Flexible and versatile OAuth 2.0/OpenID Connect stack for .NET
Pros of OpenIddict
- Open-source and free to use
- Highly customizable and extensible
- Supports a wide range of authentication scenarios
Cons of OpenIddict
- Less comprehensive documentation compared to Duende
- May require more setup and configuration
- Limited commercial support options
Code Comparison
OpenIddict:
services.AddOpenIddict()
.AddCore()
.AddServer()
.AddValidation();
Duende IdentityServer:
services.AddIdentityServer()
.AddInMemoryClients(Config.Clients)
.AddInMemoryApiScopes(Config.ApiScopes)
.AddInMemoryIdentityResources(Config.IdentityResources);
OpenIddict offers a more modular approach, allowing developers to add only the components they need. Duende IdentityServer provides a more opinionated setup with built-in configurations.
Both projects are robust OpenID Connect and OAuth 2.0 frameworks for ASP.NET Core. OpenIddict is a free, open-source solution with great flexibility, while Duende IdentityServer offers a commercial product with professional support and more comprehensive documentation. The choice between them depends on project requirements, budget, and the level of customization needed.
IdentityModel extensions for .Net
Pros of azure-activedirectory-identitymodel-extensions-for-dotnet
- Specifically designed for Azure Active Directory integration
- Extensive documentation and Microsoft support
- Free and open-source
Cons of azure-activedirectory-identitymodel-extensions-for-dotnet
- Limited to Microsoft ecosystem and Azure AD
- May have a steeper learning curve for non-Microsoft developers
- Less flexibility for custom identity scenarios
Code Comparison
azure-activedirectory-identitymodel-extensions-for-dotnet:
var tokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidIssuer = "https://sts.windows.net/{tenantId}/",
ValidateAudience = true,
ValidAudience = "{clientId}"
};
products:
var options = new IdentityServerOptions
{
IssuerUri = "https://myissuer.com",
SigningCredential = new SigningCredentials(key, SecurityAlgorithms.RsaSha256)
};
The azure-activedirectory-identitymodel-extensions-for-dotnet library focuses on token validation for Azure AD, while products (Duende IdentityServer) provides a more comprehensive identity server solution with greater customization options. The former is ideal for Azure AD integration, while the latter offers more flexibility for various identity scenarios across different platforms.
The most scalable and customizable OpenID Certified™ OpenID Connect and OAuth Provider on the market. Become an OpenID Connect and OAuth2 Provider over night. Broad support for related RFCs. Written in Go, cloud native, headless, API-first. Available as a service on Ory Network and for self-hosters.
Pros of Hydra
- Open-source and free to use, with a large community and extensive documentation
- Supports multiple databases (PostgreSQL, MySQL, CockroachDB) out of the box
- Highly scalable and designed for cloud-native environments
Cons of Hydra
- Steeper learning curve compared to Duende products
- Less comprehensive feature set for enterprise-level identity management
- May require more configuration and setup for advanced scenarios
Code Comparison
Hydra (Go):
import "github.com/ory/hydra/client"
c := client.NewHTTPClientWithConfig(nil, &client.TransportConfig{
Schemes: []string{"http", "https"},
Host: "localhost:4444",
BasePath: "/",
})
Duende IdentityServer (C#):
services.AddIdentityServer()
.AddInMemoryClients(Config.Clients)
.AddInMemoryIdentityResources(Config.IdentityResources)
.AddInMemoryApiScopes(Config.ApiScopes)
.AddInMemoryApiResources(Config.ApiResources);
Both repositories provide OAuth 2.0 and OpenID Connect implementations, but Hydra focuses on being a lightweight, cloud-native solution, while Duende products offer a more comprehensive suite for enterprise identity management. Hydra's code tends to be more low-level and flexible, while Duende's abstractions provide a simpler setup for common scenarios in the .NET ecosystem.
Open Source Identity and Access Management For Modern Applications and Services
Pros of Keycloak
- Open-source and free to use, with a large community and extensive documentation
- Supports a wide range of protocols and features out-of-the-box
- Highly customizable and extensible through themes and plugins
Cons of Keycloak
- Can be complex to set up and configure for advanced scenarios
- Performance may be less optimized compared to commercial solutions
- Limited official support options, relying mainly on community assistance
Code Comparison
Keycloak (Java):
public class KeycloakSecurityContext implements SecurityContext {
private final AccessToken token;
private final String tokenString;
private final AuthorizationContext authorizationContext;
// ...
}
Duende IdentityServer (C#):
public class SecurityContext : ISecurityContext
{
public ClaimsPrincipal User { get; set; }
public string AccessToken { get; set; }
public string RefreshToken { get; set; }
// ...
}
Both projects provide security context objects, but Keycloak's implementation is more focused on token-based authentication, while Duende IdentityServer offers a more general-purpose approach with claims-based identity.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Duende Products
This repository contains the core products developed by Duende Software.
Duende IdentityServer
Duende IdentityServer is a modern, standards-compliant OpenID Connect and OAuth 2.0 framework for ASP.NET Core, designed to provide secure authentication and API access control for modern applications. It supports a wide range of authentication flows, token types, and extension points for customization.
Duende BFF (Backend for Frontend)
The Backend for Frontend (BFF) pattern is a security architecture for browser-based JavaScript applications. It keeps access and refresh tokens on the server and eliminates the need for CORS, providing improved security for your web applications.
AspNet Core JWT Bearer Authentication Extensions
Extends the ASP.NET Core JWT Bearer authentication handler with support for OAuth 2.0 Demonstrating Proof-of-Possession (DPoP), enhancing security for bearer tokens by proving possession of a private key.
License
By accessing the Duende Products code here, you are agreeing to the licensing terms.
Contributing
Please see our contributing guidelines.
Top Related Projects
OpenID Connect and OAuth 2.0 Framework for ASP.NET Core
Flexible and versatile OAuth 2.0/OpenID Connect stack for .NET
IdentityModel extensions for .Net
The most scalable and customizable OpenID Certified™ OpenID Connect and OAuth Provider on the market. Become an OpenID Connect and OAuth2 Provider over night. Broad support for related RFCs. Written in Go, cloud native, headless, API-first. Available as a service on Ory Network and for self-hosters.
Open Source Identity and Access Management For Modern Applications and Services
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot