This example show how to use Passport.js with Next.js. The example features cookie based authentication with username and password.
The example shows how to do a login, signup and logout; and to get the user info using a hook with SWR.
A DB is not included. You can use any db you want and add it here.
The login cookie is httpOnly, meaning it can only be accessed by the API, and it's encrypted using @hapi/iron for more security.
Deploy the example using Vercel:
Execute create-next-app
with npm or Yarn to bootstrap the example:
npx create-next-app --example with-passport with-passport-app
# or
yarn create next-app --example with-passport with-passport-app
Download the example or clone the repo:
curl https://codeload.github.com/vercel/next.js/tar.gz/canary | tar -xz --strip=2 next.js-canary/examples/with-passport
cd with-passport
Install it and run:
npm install
npm run dev
# or
yarn
yarn dev
Deploy it to the cloud with Vercel (Documentation).