-
Notifications
You must be signed in to change notification settings - Fork 77
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 #218 from DuendeSoftware/joe/readme
Add README files
- Loading branch information
Showing
7 changed files
with
142 additions
and
4 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,3 +1,37 @@ | ||
# Securing SPAs and Blazor WASM applications once and for all | ||
|
||
see [here](https://docs.duendesoftware.com/identityserver/v7/bff/) for documentation. | ||
# Backend for Frontend (BFF) Security Framework | ||
_Securing SPAs and Blazor WASM applications once and for all._ | ||
|
||
Welcome to the official GitHub repository for the [Duende](https://duendesoftware.com) Backend for Frontend (BFF) Security Framework! | ||
|
||
## Overview | ||
Duende.BFF is a framework for building services that solve security and identity problems in browser based applications such as SPAs and Blazor WASM applications. It is used to create a backend host that is paired with a frontend application. This backend is called the Backend For Frontend (BFF) host, and is responsible for all of the OAuth and OIDC protocol interactions. Moving the protocol handling out of JavaScript provides important security benefits and works around changes in browser privacy rules that increasingly disrupt OAuth and OIDC protocol flows in browser based applications. The Duende.BFF library makes it easy to build and secure BFF hosts by providing [session and token management](https://docs.duendesoftware.com/identityserver/v7/bff/session/), [API endpoint protection](https://docs.duendesoftware.com/identityserver/v7/bff/apis/), and [logout notifications](https://docs.duendesoftware.com/identityserver/v7/bff/session/management/back-channel-logout/). | ||
|
||
## Extensibility | ||
Duende.BFF can be extended with: | ||
- custom logic at the session management endpoints | ||
- custom logic and configuration for HTTP forwarding to external API endpoints | ||
- custom data storage for server-side sessions and access/refresh tokens | ||
|
||
## Advanced Security Features | ||
Duende.BFF supports a wide range of security scenarios for modern applications: | ||
- Mutual TLS | ||
- Proof-of-Possession | ||
- JWT secured authorization requests | ||
- JWT-based client authentication. | ||
|
||
## Getting Started | ||
If you're ready to dive into development, check out our [Quickstart Tutorial](https://docs.duendesoftware.com/identityserver/v7/quickstarts/js_clients/js_with_backend/) for step-by-step guidance. | ||
|
||
For more in-depth documentation, visit [our documentation portal](https://docs.duendesoftware.com). | ||
|
||
## Licensing | ||
Duende.BFF 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,26 @@ | ||
|
||
# Backend for Frontend (BFF) YARP Integration | ||
_Securing SPAs and Blazor WASM applications once and for all._ | ||
|
||
## Overview | ||
Duende.BFF is a framework for building services that solve security and identity problems in browser based applications such as SPAs and Blazor WASM applications. It is used to create a backend host that is paired with a frontend application. This backend is called the Backend For Frontend (BFF) host, and is responsible for all of the OAuth and OIDC protocol interactions. Moving the protocol handling out of JavaScript provides important security benefits and works around changes in browser privacy rules that increasingly disrupt OAuth and OIDC protocol flows in browser based applications. The Duende.BFF library makes it easy to build and secure BFF hosts by providing [session and token management](https://docs.duendesoftware.com/identityserver/v7/bff/session/), [API endpoint protection](https://docs.duendesoftware.com/identityserver/v7/bff/apis/), and [logout notifications](https://docs.duendesoftware.com/identityserver/v7/bff/session/management/back-channel-logout/). | ||
|
||
This package provides an implementation of server side sessions for the BFF using Entity Framework. | ||
|
||
## Getting Started | ||
For in-depth documentation, please see [here](https://docs.duendesoftware.com/identityserver/v7/bff/session/server_side_sessions/#using-entity-framework-for-the-server-side-session-store). | ||
|
||
## Licensing | ||
Duende.BFF.EntityFramework 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.Bff](https://www.nuget.org/packages/Duende.Bff) - Framework for building browser based applications using the BFF pattern | ||
- [Duende.Bff.Yarp](https://www.nuget.org/packages/Duende.Bff.Yarp) - BFF integration with YARP (Yet Another Reverse Proxy) |
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,26 @@ | ||
|
||
# Backend for Frontend (BFF) YARP Integration | ||
_Securing SPAs and Blazor WASM applications once and for all._ | ||
|
||
## Overview | ||
Duende.BFF is a framework for building services that solve security and identity problems in browser based applications such as SPAs and Blazor WASM applications. It is used to create a backend host that is paired with a frontend application. This backend is called the Backend For Frontend (BFF) host, and is responsible for all of the OAuth and OIDC protocol interactions. Moving the protocol handling out of JavaScript provides important security benefits and works around changes in browser privacy rules that increasingly disrupt OAuth and OIDC protocol flows in browser based applications. The Duende.BFF library makes it easy to build and secure BFF hosts by providing [session and token management](https://docs.duendesoftware.com/identityserver/v7/bff/session/), [API endpoint protection](https://docs.duendesoftware.com/identityserver/v7/bff/apis/), and [logout notifications](https://docs.duendesoftware.com/identityserver/v7/bff/session/management/back-channel-logout/). | ||
|
||
This package integrates the BFF with Microsoft's YARP (Yet Another Reverse Proxy). It allows you to proxy requests to external APIs using the full power of YARP, while also applying Duende.BFF's token management and security features. | ||
|
||
## Getting Started | ||
For in-depth documentation, please see the Duende.BFF.Yarp [documentation page](https://docs.duendesoftware.com/identityserver/v7/bff/apis/yarp/). | ||
|
||
## Licensing | ||
Duende.BFF.Yarp 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.Bff](https://www.nuget.org/packages/Duende.Bff) - Framework for building browser based applications using the BFF pattern | ||
- [Duende.Bff.EntityFramework](https://www.nuget.org/packages/Duende.Bff.EntityFramework) - A store for Duende.BFF's server side sessions 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,39 @@ | ||
|
||
# Backend for Frontend (BFF) Security Framework | ||
_Securing SPAs and Blazor WASM applications once and for all._ | ||
|
||
## Overview | ||
Duende.BFF is a framework for building services that solve security and identity problems in browser based applications such as SPAs and Blazor WASM applications. It is used to create a backend host that is paired with a frontend application. This backend is called the Backend For Frontend (BFF) host, and is responsible for all of the OAuth and OIDC protocol interactions. Moving the protocol handling out of JavaScript provides important security benefits and works around changes in browser privacy rules that increasingly disrupt OAuth and OIDC protocol flows in browser based applications. The Duende.BFF library makes it easy to build and secure BFF hosts by providing [session and token management](https://docs.duendesoftware.com/identityserver/v7/bff/session/), [API endpoint protection](https://docs.duendesoftware.com/identityserver/v7/bff/apis/), and [logout notifications](https://docs.duendesoftware.com/identityserver/v7/bff/session/management/back-channel-logout/). | ||
|
||
## Extensibility | ||
Duende.BFF can be extended with: | ||
- custom logic at the session management endpoints | ||
- custom logic and configuration for HTTP forwarding to external API endpoints | ||
- custom data storage for server-side sessions and access/refresh tokens | ||
|
||
## Advanced Security Features | ||
Duende.BFF supports a wide range of security scenarios for modern applications: | ||
- Mutual TLS | ||
- Proof-of-Possession | ||
- JWT secured authorization requests | ||
- JWT-based client authentication. | ||
|
||
## Getting Started | ||
If you're ready to dive into development, check out our [Quickstart Tutorial](https://docs.duendesoftware.com/identityserver/v7/quickstarts/js_clients/js_with_backend/) for step-by-step guidance. | ||
|
||
For more in-depth documentation, visit [our documentation portal](https://docs.duendesoftware.com). | ||
|
||
## Licensing | ||
Duende.BFF 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.Bff.Yarp](https://www.nuget.org/packages/Duende.Bff.Yarp) - BFF integration with YARP (Yet Another Reverse Proxy) | ||
- [Duende.Bff.EntityFramework](https://www.nuget.org/packages/Duende.Bff.EntityFramework) - A store for Duende.BFF's server side sessions implemented with Entity Framework |