This repo contains a set of apps demonstrating different auth architectures, a resource API server, and a FusionAuth Docker container with configuration (called a kickstart).
- FusionAuth authorization server
- Backend-for-Frontend (BFF) spec
- Token-Mediating Backend (TMB) spec
- Browser-based OAuth 2.0 client (BBOC) spec
- Backend-for-Frontend with Hosted Backend (BFF-HB) FusionAuth hosted backend
- Resource API server
Note
This repo's demos are built with React and Node. An Angular version of this architecture demo set is available at https://github.com/kmaida/auth-architecture-ng.
- Docker (for use of
docker compose) or a Docker Desktop alternative (like Podman for PC or Orbstack for Mac) - Node.js
- Clone this repo
- Remove the
.samplesuffix from/fusionauth/.env.sample(and make the changes mentioned in the file) - From the cloned
/fusionauthfolder, run:docker compose up -d - FusionAuth will be installed in a Docker container and will use the included
/fusionauth/kickstart/kickstart.jsonto set the appropriate FusionAuth configuration for use with this repo - Verify that FusionAuth is installed and configured properly by navigating to
http://localhost:9011/admin - If you get a login screen at
http://localhost:9011/admin, the kickstart was successful - Log in with the admin credentials:
[email protected]/password - In the FusionAuth dashboard, go to Applications and make sure there are three apps:
Auth Architecture (BFF & TMB),Auth Architecture (BBOC & BFF-HB), andFusionAuth
Use the READMEs in each architecture folder (/bff, /tmb, /bboc, /bff-hb) for instructions on setting up that architecture. All demos use one FusionAuth instance.
You will not be able to run multiple architecture demos at the same time because they share ports. If you'd like to run multiple apps at the same time, you must change the ports.
All apps share the same FusionAuth instance, so there is no need to run multiple FusionAuth containers.
Use the README in the /resource-api folder for setup instructions.