Skip to content
This repository was archived by the owner on Jan 24, 2025. It is now read-only.

Commit f95d897

Browse files
authoredDec 18, 2024
Merge pull request #218 from DuendeSoftware/joe/readme
Add README files
2 parents 0908510 + f0b1436 commit f95d897

File tree

7 files changed

+142
-4
lines changed

7 files changed

+142
-4
lines changed
 

‎README.md

+36-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,37 @@
1-
# Securing SPAs and Blazor WASM applications once and for all
21

3-
see [here](https://docs.duendesoftware.com/identityserver/v7/bff/) for documentation.
2+
# Backend for Frontend (BFF) Security Framework
3+
_Securing SPAs and Blazor WASM applications once and for all._
4+
5+
Welcome to the official GitHub repository for the [Duende](https://duendesoftware.com) Backend for Frontend (BFF) Security Framework!
6+
7+
## Overview
8+
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/).
9+
10+
## Extensibility
11+
Duende.BFF can be extended with:
12+
- custom logic at the session management endpoints
13+
- custom logic and configuration for HTTP forwarding to external API endpoints
14+
- custom data storage for server-side sessions and access/refresh tokens
15+
16+
## Advanced Security Features
17+
Duende.BFF supports a wide range of security scenarios for modern applications:
18+
- Mutual TLS
19+
- Proof-of-Possession
20+
- JWT secured authorization requests
21+
- JWT-based client authentication.
22+
23+
## Getting Started
24+
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.
25+
26+
For more in-depth documentation, visit [our documentation portal](https://docs.duendesoftware.com).
27+
28+
## Licensing
29+
Duende.BFF is source-available, but requires a paid [license](https://duendesoftware.com/products/identityserver) for production use.
30+
31+
- **Development and Testing**: You are free to use and explore the code for development, testing, or personal projects without a license.
32+
- **Production**: A license is required for production environments.
33+
- **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).
34+
35+
## Reporting Issues and Getting Support
36+
- For bug reports or feature requests, open an issue on GitHub: [Submit an Issue](https://github.com/DuendeSoftware/Support/issues/new/choose).
37+
- For security-related concerns, please contact us privately at: **security@duendesoftware.com**.

‎src/Duende.Bff.EntityFramework/Duende.Bff.EntityFramework.csproj

+5
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,13 @@
77

88
<AssemblyName>Duende.BFF.EntityFramework</AssemblyName>
99
<Description>Entity Framework Core support for backend for frontend (BFF) host for ASP.NET Core</Description>
10+
<PackageReadmeFile>README.md</PackageReadmeFile>
1011
</PropertyGroup>
1112

13+
<ItemGroup>
14+
<None Include="README.md" Pack="true" PackagePath=""/>
15+
</ItemGroup>
16+
1217
<ItemGroup>
1318
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" />
1419

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
2+
# Backend for Frontend (BFF) YARP Integration
3+
_Securing SPAs and Blazor WASM applications once and for all._
4+
5+
## Overview
6+
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/).
7+
8+
This package provides an implementation of server side sessions for the BFF using Entity Framework.
9+
10+
## Getting Started
11+
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).
12+
13+
## Licensing
14+
Duende.BFF.EntityFramework is source-available, but requires a paid [license](https://duendesoftware.com/products/identityserver) for production use.
15+
16+
- **Development and Testing**: You are free to use and explore the code for development, testing, or personal projects without a license.
17+
- **Production**: A license is required for production environments.
18+
- **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).
19+
20+
## Reporting Issues and Getting Support
21+
- For bug reports or feature requests, open an issue on GitHub: [Submit an Issue](https://github.com/DuendeSoftware/Support/issues/new/choose).
22+
- For security-related concerns, please contact us privately at: **security@duendesoftware.com**.
23+
24+
## Related Packages
25+
- [Duende.Bff](https://www.nuget.org/packages/Duende.Bff) - Framework for building browser based applications using the BFF pattern
26+
- [Duende.Bff.Yarp](https://www.nuget.org/packages/Duende.Bff.Yarp) - BFF integration with YARP (Yet Another Reverse Proxy)

‎src/Duende.Bff.Yarp/Duende.Bff.Yarp.csproj

+5-1
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,15 @@
55
<GenerateDocumentationFile>true</GenerateDocumentationFile>
66
<LangVersion>latest</LangVersion>
77
<Nullable>enable</Nullable>
8-
98
<AssemblyName>Duende.BFF.Yarp</AssemblyName>
109
<Description>Backend for frontend (BFF) host for ASP.NET Core (YARP integration)</Description>
10+
<PackageReadmeFile>README.md</PackageReadmeFile>
1111
</PropertyGroup>
1212

13+
<ItemGroup>
14+
<None Include="README.md" Pack="true" PackagePath=""/>
15+
</ItemGroup>
16+
1317
<ItemGroup>
1418
<PackageReference Include="Yarp.ReverseProxy" />
1519
</ItemGroup>

‎src/Duende.Bff.Yarp/README.md

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
2+
# Backend for Frontend (BFF) YARP Integration
3+
_Securing SPAs and Blazor WASM applications once and for all._
4+
5+
## Overview
6+
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/).
7+
8+
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.
9+
10+
## Getting Started
11+
For in-depth documentation, please see the Duende.BFF.Yarp [documentation page](https://docs.duendesoftware.com/identityserver/v7/bff/apis/yarp/).
12+
13+
## Licensing
14+
Duende.BFF.Yarp is source-available, but requires a paid [license](https://duendesoftware.com/products/identityserver) for production use.
15+
16+
- **Development and Testing**: You are free to use and explore the code for development, testing, or personal projects without a license.
17+
- **Production**: A license is required for production environments.
18+
- **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).
19+
20+
## Reporting Issues and Getting Support
21+
- For bug reports or feature requests, open an issue on GitHub: [Submit an Issue](https://github.com/DuendeSoftware/Support/issues/new/choose).
22+
- For security-related concerns, please contact us privately at: **security@duendesoftware.com**.
23+
24+
## Related Packages
25+
- [Duende.Bff](https://www.nuget.org/packages/Duende.Bff) - Framework for building browser based applications using the BFF pattern
26+
- [Duende.Bff.EntityFramework](https://www.nuget.org/packages/Duende.Bff.EntityFramework) - A store for Duende.BFF's server side sessions implemented with Entity Framework

‎src/Duende.Bff/Duende.Bff.csproj

+5-1
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,15 @@
55
<GenerateDocumentationFile>true</GenerateDocumentationFile>
66
<LangVersion>latest</LangVersion>
77
<Nullable>enable</Nullable>
8-
98
<AssemblyName>Duende.BFF</AssemblyName>
109
<Description>Backend for frontend (BFF) host for ASP.NET Core</Description>
10+
<PackageReadmeFile>README.md</PackageReadmeFile>
1111
</PropertyGroup>
1212

13+
<ItemGroup>
14+
<None Include="README.md" Pack="true" PackagePath=""/>
15+
</ItemGroup>
16+
1317
<ItemGroup>
1418
<FrameworkReference Include="Microsoft.AspNetCore.App" />
1519
<PackageReference Include="Duende.AccessTokenManagement.OpenIdConnect" />

‎src/Duende.Bff/README.md

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
2+
# Backend for Frontend (BFF) Security Framework
3+
_Securing SPAs and Blazor WASM applications once and for all._
4+
5+
## Overview
6+
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/).
7+
8+
## Extensibility
9+
Duende.BFF can be extended with:
10+
- custom logic at the session management endpoints
11+
- custom logic and configuration for HTTP forwarding to external API endpoints
12+
- custom data storage for server-side sessions and access/refresh tokens
13+
14+
## Advanced Security Features
15+
Duende.BFF supports a wide range of security scenarios for modern applications:
16+
- Mutual TLS
17+
- Proof-of-Possession
18+
- JWT secured authorization requests
19+
- JWT-based client authentication.
20+
21+
## Getting Started
22+
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.
23+
24+
For more in-depth documentation, visit [our documentation portal](https://docs.duendesoftware.com).
25+
26+
## Licensing
27+
Duende.BFF is source-available, but requires a paid [license](https://duendesoftware.com/products/identityserver) for production use.
28+
29+
- **Development and Testing**: You are free to use and explore the code for development, testing, or personal projects without a license.
30+
- **Production**: A license is required for production environments.
31+
- **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).
32+
33+
## Reporting Issues and Getting Support
34+
- For bug reports or feature requests, open an issue on GitHub: [Submit an Issue](https://github.com/DuendeSoftware/Support/issues/new/choose).
35+
- For security-related concerns, please contact us privately at: **security@duendesoftware.com**.
36+
37+
## Related Packages
38+
- [Duende.Bff.Yarp](https://www.nuget.org/packages/Duende.Bff.Yarp) - BFF integration with YARP (Yet Another Reverse Proxy)
39+
- [Duende.Bff.EntityFramework](https://www.nuget.org/packages/Duende.Bff.EntityFramework) - A store for Duende.BFF's server side sessions implemented with Entity Framework

0 commit comments

Comments
 (0)