Skip to content

Latest commit

 

History

History
65 lines (41 loc) · 2.44 KB

File metadata and controls

65 lines (41 loc) · 2.44 KB

Example Next.js Application

This repo holds an example Next.js application that uses FusionAuth as the identity provider. This application uses NextAuth.js which includes a FusionAuth provider.

This application was built by following the Next.js Quickstart.

Project Contents

The docker-compose.yml file and the kickstart directory are used to start and configure a local FusionAuth server.

The /complete-application directory contains a fully working version of the application.

Project Dependencies

  • Docker, for running FusionAuth
  • Node 16 or later, for running the Changebank Next.js application

FusionAuth Installation via Docker

In the root of this project directory (next to this README) are two files a Docker compose file and an environment variables configuration file. Assuming you have Docker installed on your machine, you can stand up FusionAuth up on your machine with:

docker compose up -d

The FusionAuth configuration files also make use of a unique feature of FusionAuth, called Kickstart: when FusionAuth comes up for the first time, it will look at the Kickstart file and mimic API calls to configure FusionAuth for use when it is first run.

NOTE: If you ever want to reset the FusionAuth system, delete the volumes created by docker compose by executing docker compose down -v.

FusionAuth will be initially configured with these settings:

  • Your client Id is: e9fdb985-9173-4e01-9d73-ac2d60d1dc8e
  • Your client secret is: super-secret-secret-that-should-be-regenerated-for-production
  • Your example username is [email protected] and your password is password.
  • Your admin username is [email protected] and your password is password.
  • Your fusionAuthBaseUrl is 'http://localhost:9011/'

You can log into the FusionAuth admin UI and look around if you want, but with Docker/Kickstart you don't need to.

Running the Example App

To run the application, first go into the project directory

cd complete-application

Create a local environment file

cp .env.example .env.local

Install dependencies

npm install

Start the application

npm run dev