-
Notifications
You must be signed in to change notification settings - Fork 370
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1610 from DuendeSoftware/joe/readmes
- Loading branch information
Showing
15 changed files
with
287 additions
and
29 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,39 @@ | ||
# Duende IdentityServer | ||
The most flexible and standards-compliant OpenID Connect and OAuth 2.x framework for ASP.NET Core | ||
_The most flexible and standards-compliant OpenID Connect and OAuth 2.x framework for ASP.NET Core._ | ||
|
||
[Web site](https://duendesoftware.com/products/identityserver) and [documentation](https://docs.duendesoftware.com) | ||
Welcome to the official GitHub repository for [Duende](https://duendesoftware.com) IdentityServer! | ||
|
||
## How to build | ||
## Overview | ||
|
||
* Install Git | ||
* Clone this repo | ||
* [Install](https://www.microsoft.com/net/download/core#/current) the [required](https://github.com/DuendeSoftware/IdentityServer/blob/main/global.json) .NET Core SDK | ||
* Run `build.ps1` or `build.sh` in the root of the cloned repo | ||
Duende IdentityServer is a highly extensible, standards-compliant framework for implementing the OpenID Connect and OAuth 2.x protocols in ASP.NET Core. It offers deep flexibility for handling authentication, authorization, and token issuance and can be adapted to fit complex custom security scenarios. | ||
|
||
### Extensibility Points | ||
|
||
- **Customizable User Experience**: Go beyond simple branding to fully customizable user interfaces. | ||
- **Core Engine Customization**: The engine itself is modular and built from services that can be extended or overridden. | ||
|
||
### Advanced Security Scenarios | ||
|
||
Duende IdentityServer supports a wide range of security scenarios for modern applications: | ||
|
||
- **Federation**: Easily integrate with external identity providers or other authentication services using [ederation](https://docs.duendesoftware.com/identityserver/v7/ui/federation/). | ||
- **Token Exchange**: Enable secure token exchange between clients and services with [Token Exchange](https://docs.duendesoftware.com/identityserver/v7/tokens/extension_grants/token_exchange/). | ||
- **Audience Constrained Tokens**: Restrict tokens to specific audiences, increasing security in multi-service architectures. Learn more about [audience-constrained tokens](https://docs.duendesoftware.com/identityserver/v7/fundamentals/resources/isolation/). | ||
- **Sender Constrained Tokens**: Implement Proof of Possession (PoP) tokens with [DPoP or mTLS](https://docs.duendesoftware.com/identityserver/v7/tokens/pop/), which bind tokens to the client, adding another layer of protection. | ||
- **Pushed Authorization Requests (PAR)**: Support [Pushed Authorization Requests](https://docs.duendesoftware.com/identityserver/v7/tokens/par/) to enhance the security of the authorization flow. | ||
|
||
## Getting Started | ||
If you're ready to dive into development, check out our [Quickstart Tutorial Series](https://docs.duendesoftware.com/identityserver/v7/quickstarts/) for step-by-step guidance. | ||
|
||
For more in-depth documentation, visit [our documentation portal](https://docs.duendesoftware.com). | ||
|
||
## Licensing | ||
Duende IdentityServer is source-available, but requires a paid [license](https://duendesoftware.com/products/identityserver) for production use. | ||
|
||
- **Development and Testing**: You are free to use and explore the code for development, testing, or personal projects without a license. | ||
- **Production**: A license is required for production environments. | ||
- **Free Community Edition**: A free Community Edition license is available for qualifying companies and non-profit organizations. Learn more [here](https://duendesoftware.com/products/communityedition). | ||
|
||
## Reporting Issues and Getting Support | ||
- For bug reports or feature requests, open an issue on GitHub: [Submit an Issue](https://github.com/DuendeSoftware/Support/issues/new/choose). | ||
- For security-related concerns, please contact us privately at: **[email protected]**. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
# Duende.IdentityServer.AspNetIdentity | ||
|
||
## Overview | ||
Duende.IdentityServer.AspNetIdentity integrates ASP.NET Core Identity with Duende IdentityServer. It enables you to use ASP.NET Core Identity as the store for users within an IdentityServer implementation. | ||
|
||
## About IdentityServer | ||
[IdentityServer](https://www.nuget.org/packages/Duende.IdentityServer) is a highly extensible, standards-compliant framework for implementing the OpenID Connect and OAuth 2.x protocols in ASP.NET Core. | ||
|
||
## Getting Started | ||
Check out our [Quickstart Tutorial Series](https://docs.duendesoftware.com/identityserver/v7/quickstarts/) for step-by-step guidance. In particular, [QuickStart 5](https://docs.duendesoftware.com/identityserver/v7/quickstarts/5_aspnetid/) shows how to use ASP.NET Core Identity with IdentityServer using this package. | ||
|
||
## Licensing | ||
Duende IdentityServer is source-available, but requires a paid [license](https://duendesoftware.com/products/identityserver) for production use. | ||
|
||
- **Development and Testing**: You are free to use and explore the code for development, testing, or personal projects without a license. | ||
- **Production**: A license is required for production environments. | ||
- **Free Community Edition**: A free Community Edition license is available for qualifying companies and non-profit organizations. Learn more [here](https://duendesoftware.com/products/communityedition). | ||
|
||
## Reporting Issues and Getting Support | ||
- For bug reports or feature requests, open an issue on GitHub: [Submit an Issue](https://github.com/DuendeSoftware/Support/issues/new/choose). | ||
- For security-related concerns, please contact us privately at: **[email protected]**. | ||
|
||
## Related Packages | ||
- [Duende.IdentityServer](https://www.nuget.org/packages/Duende.IdentityServer): OAuth and OpenID Connect framework with in-memory or customizable persistence. | ||
- [Duende.IdentityServer.EntityFramework](https://www.nuget.org/packages/Duende.IdentityServer.EntityFramework.Storage): OAuth and OpenId Connect framework with Entity Framework based persistence. | ||
- [Duende.IdentityServer.Configuration](https://www.nuget.org/packages/Duende.IdentityServer.Configuration): Configuration API for IdentityServer with in-memory or customizable persistence. | ||
- [Duende.IdentityServer.Configuration.EntityFramework](https://www.nuget.org/packages/Duende.IdentityServer.Configuration.EntityFramework): Configuration API for IdentityServer with Entity Framework based persistence. | ||
- [Duende.IdentityServer.Storage](https://www.nuget.org/packages/Duende.IdentityServer.Storage): Support package containing models and interfaces for the persistence layer of IdentityServer. | ||
- [Duende.IdentityServer.EntityFramework.Storage](https://www.nuget.org/packages/Duende.IdentityServer.EntityFramework.Storage): Support package containing an implementation of the persistence layer of IdentityServer implemented with Entity Framework. |
35 changes: 18 additions & 17 deletions
35
src/Configuration.EntityFramework/Duende.IdentityServer.Configuration.EntityFramework.csproj
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1,24 @@ | ||
<Project Sdk="Microsoft.NET.Sdk"> | ||
|
||
<PropertyGroup> | ||
<TargetFrameworks>net8.0;net9.0</TargetFrameworks> | ||
<ImplicitUsings>enable</ImplicitUsings> | ||
<Nullable>enable</Nullable> | ||
<GenerateDocumentationFile>true</GenerateDocumentationFile> | ||
</PropertyGroup> | ||
<PropertyGroup> | ||
<TargetFrameworks>net8.0;net9.0</TargetFrameworks> | ||
<ImplicitUsings>enable</ImplicitUsings> | ||
<Nullable>enable</Nullable> | ||
<GenerateDocumentationFile>true</GenerateDocumentationFile> | ||
<PackageReadmeFile>README.md</PackageReadmeFile> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
|
||
</ItemGroup> | ||
<ItemGroup> | ||
<None Include="README.md" Pack="true" PackagePath="" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<ProjectReference Include="..\Configuration\Duende.IdentityServer.Configuration.csproj" /> | ||
<ProjectReference Include="..\Storage\Duende.IdentityServer.Storage.csproj" /> | ||
<ProjectReference Include="..\EntityFramework.Storage\Duende.IdentityServer.EntityFramework.Storage.csproj" /> | ||
</ItemGroup> | ||
<ItemGroup> | ||
<ProjectReference Include="..\Configuration\Duende.IdentityServer.Configuration.csproj" /> | ||
<ProjectReference Include="..\Storage\Duende.IdentityServer.Storage.csproj" /> | ||
<ProjectReference Include="..\EntityFramework.Storage\Duende.IdentityServer.EntityFramework.Storage.csproj" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" /> | ||
</ItemGroup> | ||
<ItemGroup> | ||
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" /> | ||
</ItemGroup> | ||
</Project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# Duende.IdentityServer.Configuration.EntityFramework | ||
|
||
## Overview | ||
Duende.IdentityServer.Configuration.EntityFramework provides an implementation of the IdentityServer Configuration API's data stores using Entity Framework. | ||
|
||
The IdentityServer Configuration API is a collection of endpoints that allow for management and configuration of an IdentityServer implementation using the Dynamic Client Registration [protocol](https://datatracker.ietf.org/doc/html/rfc7591). The Configuration API can be hosted either separately or within an IdentityServer implementation. | ||
|
||
## Getting Started | ||
A guide to installing and hosting the Configuration API is available [here](https://docs.duendesoftware.com/identityserver/v7/configuration/dcr/installation/). More [documentation](https://docs.duendesoftware.com/identityserver/v7/configuration/) and an [API reference](https://docs.duendesoftware.com/identityserver/v7/configuration/dcr/reference/) are also available. | ||
|
||
## Licensing | ||
Duende IdentityServer is source-available, but requires a paid [license](https://duendesoftware.com/products/identityserver) for production use. | ||
|
||
- **Development and Testing**: You are free to use and explore the code for development, testing, or personal projects without a license. | ||
- **Production**: A license is required for production environments. | ||
- **Free Community Edition**: A free Community Edition license is available for qualifying companies and non-profit organizations. Learn more [here](https://duendesoftware.com/products/communityedition). | ||
|
||
## Reporting Issues and Getting Support | ||
- For bug reports or feature requests, open an issue on GitHub: [Submit an Issue](https://github.com/DuendeSoftware/Support/issues/new/choose). | ||
- For security-related concerns, please contact us privately at: **[email protected]**. | ||
|
||
## Related Packages | ||
- [Duende.IdentityServer](https://www.nuget.org/packages/Duende.IdentityServer): OAuth and OpenID Connect framework with in-memory or customizable persistence. | ||
- [Duende.IdentityServer.EntityFramework](https://www.nuget.org/packages/Duende.IdentityServer.EntityFramework.Storage): OAuth and OpenId Connect framework with Entity Framework based persistence. | ||
- [Duende.IdentityServer.AspNetIdentity](https://www.nuget.org/packages/Duende.IdentityServer.AspNetIdentity): Integration between ASP.NET Core Identity and IdentityServer. | ||
- [Duende.IdentityServer.Configuration](https://www.nuget.org/packages/Duende.IdentityServer.Configuration): Configuration API for IdentityServer with in-memory or customizable persistence. | ||
- [Duende.IdentityServer.Storage](https://www.nuget.org/packages/Duende.IdentityServer.Storage): Support package containing models and interfaces for the persistence layer of IdentityServer. | ||
- [Duende.IdentityServer.EntityFramework.Storage](https://www.nuget.org/packages/Duende.IdentityServer.EntityFramework.Storage): Support package containing an implementation of the persistence layer of IdentityServer implemented with Entity Framework. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# Duende.IdentityServer.Configuration | ||
|
||
## Overview | ||
Duende.IdentityServer.Configuration provides a collection of endpoints that allow for management and configuration of an IdentityServer implementation using the Dynamic Client Registration [protocol](https://datatracker.ietf.org/doc/html/rfc7591). The Configuration API can be hosted either separately or within an IdentityServer implementation. | ||
|
||
This package includes abstractions for interacting with the IdentityServer configuration data store. You can either implement the store yourself or use [Duende.IdentityServer.Configuration.EntityFramework](https://www.nuget.org/packages/Duende.IdentityServer.Configuration.EntityFramework) for our default store implementation built with Entity Framework. | ||
|
||
## Getting Started | ||
A guide to installing and hosting the Configuration API is available [here](https://docs.duendesoftware.com/identityserver/v7/configuration/dcr/installation/). More [documentation](https://docs.duendesoftware.com/identityserver/v7/configuration/) and an [API reference](https://docs.duendesoftware.com/identityserver/v7/configuration/dcr/reference/) are also available. | ||
|
||
## Licensing | ||
Duende IdentityServer is source-available, but requires a paid [license](https://duendesoftware.com/products/identityserver) for production use. | ||
|
||
- **Development and Testing**: You are free to use and explore the code for development, testing, or personal projects without a license. | ||
- **Production**: A license is required for production environments. | ||
- **Free Community Edition**: A free Community Edition license is available for qualifying companies and non-profit organizations. Learn more [here](https://duendesoftware.com/products/communityedition). | ||
|
||
## Reporting Issues and Getting Support | ||
- For bug reports or feature requests, open an issue on GitHub: [Submit an Issue](https://github.com/DuendeSoftware/Support/issues/new/choose). | ||
- For security-related concerns, please contact us privately at: **[email protected]**. | ||
|
||
## Related Packages | ||
- [Duende.IdentityServer](https://www.nuget.org/packages/Duende.IdentityServer): OAuth and OpenID Connect framework with in-memory or customizable persistence. | ||
- [Duende.IdentityServer.EntityFramework](https://www.nuget.org/packages/Duende.IdentityServer.EntityFramework.Storage): OAuth and OpenId Connect framework with Entity Framework based persistence. | ||
- [Duende.IdentityServer.AspNetIdentity](https://www.nuget.org/packages/Duende.IdentityServer.AspNetIdentity): Integration between ASP.NET Core Identity and IdentityServer. | ||
- [Duende.IdentityServer.Configuration.EntityFramework](https://www.nuget.org/packages/Duende.IdentityServer.Configuration.EntityFramework): Configuration API for IdentityServer with Entity Framework based persistence. | ||
- [Duende.IdentityServer.Storage](https://www.nuget.org/packages/Duende.IdentityServer.Storage): Support package containing models and interfaces for the persistence layer of IdentityServer. | ||
- [Duende.IdentityServer.EntityFramework.Storage](https://www.nuget.org/packages/Duende.IdentityServer.EntityFramework.Storage): Support package containing an implementation of the persistence layer of IdentityServer implemented with Entity Framework. |
7 changes: 6 additions & 1 deletion
7
src/EntityFramework.Storage/Duende.IdentityServer.EntityFramework.Storage.csproj
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
# Duende.IdentityServer.EntityFramework.Storage | ||
|
||
## Overview | ||
Duende.IdentityServer.EntityFramework.Storage is an Entity Framework based implementation of the data stores in Duende IdentityServer. Most IdentityServer implementations won't take this package as a direct dependency and will instead use Duende.IdentityServer.EntityFramework. This package is used when you only need the store implementation, without the rest of IdentityServer. | ||
|
||
## About IdentityServer | ||
[IdentityServer](https://www.nuget.org/packages/Duende.IdentityServer) is a highly extensible, standards-compliant framework for implementing the OpenID Connect and OAuth 2.x protocols in ASP.NET Core. | ||
|
||
## Getting Started | ||
Check out our [Quickstart Tutorial Series](https://docs.duendesoftware.com/identityserver/v7/quickstarts/) for step-by-step guidance. In particular, [QuickStart 4](https://docs.duendesoftware.com/identityserver/v7/quickstarts/4_ef/) shows how to use the persistence stores from this package. | ||
|
||
## Licensing | ||
Duende IdentityServer is source-available, but requires a paid [license](https://duendesoftware.com/products/identityserver) for production use. | ||
|
||
- **Development and Testing**: You are free to use and explore the code for development, testing, or personal projects without a license. | ||
- **Production**: A license is required for production environments. | ||
- **Free Community Edition**: A free Community Edition license is available for qualifying companies and non-profit organizations. Learn more [here](https://duendesoftware.com/products/communityedition). | ||
|
||
## Reporting Issues and Getting Support | ||
- For bug reports or feature requests, open an issue on GitHub: [Submit an Issue](https://github.com/DuendeSoftware/Support/issues/new/choose). | ||
- For security-related concerns, please contact us privately at: **[email protected]**. | ||
|
||
## Related Packages | ||
- [Duende.IdentityServer](https://www.nuget.org/packages/Duende.IdentityServer): OAuth and OpenID Connect framework with in-memory or customizable persistence. | ||
- [Duende.IdentityServer.EntityFramework](https://www.nuget.org/packages/Duende.IdentityServer.EntityFramework.Storage): OAuth and OpenId Connect framework with Entity Framework based persistence. | ||
- [Duende.IdentityServer.AspNetIdentity](https://www.nuget.org/packages/Duende.IdentityServer.AspNetIdentity): Integration between ASP.NET Core Identity and IdentityServer. | ||
- [Duende.IdentityServer.Configuration](https://www.nuget.org/packages/Duende.IdentityServer.Configuration): Configuration API for IdentityServer with in-memory or customizable persistence. | ||
- [Duende.IdentityServer.Configuration.EntityFramework](https://www.nuget.org/packages/Duende.IdentityServer.Configuration.EntityFramework): Configuration API for IdentityServer with Entity Framework based persistence. | ||
- [Duende.IdentityServer.Storage](https://www.nuget.org/packages/Duende.IdentityServer.Storage): Support package containing models and interfaces for the persistence layer of IdentityServer. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.