009369a9aa
This example creates an authentication system that uses a **signed and encrypted cookie to store session data**. It relies on [`next-iron-session`](https://github.com/vvo/next-iron-session). It uses current best practices as for authentication in the Next.js ecosystem: 1. **no `getInitialProps`** to ensure every page is static 2. **`useUser` hook** together with [`swr`](https://swr.now.sh/) for data fetching Features: - Logged in status synchronized between browser windows/tabs - Layout based on logged in status - All pages are static - Session data is signed and encrypted in a cookie |
||
---|---|---|
.. | ||
components | ||
lib | ||
pages | ||
now.json | ||
package.json | ||
README.md |
Example application using next-iron-session
This example creates an authentication system that uses a signed and encrypted cookie to store session data. It relies on next-iron-session
.
It uses current best practices for authentication in the Next.js ecosystem.
Features:
- Static Generation (SG), recommended example
- Server-side Rendering (SSR) example in case you need it
- Logged in status synchronized between browser windows/tabs using
withUser
hook andswr
module - Layout based on logged-in status
- Session data is signed and encrypted in a cookie
This example creates an authentication system that uses a signed and encrypted cookie to store session data. It relies on next-iron-session
.
It uses current best practices for authentication in the Next.js ecosystem.
Features:
- Static Generation (SG), recommended example
- Server-side Rendering (SSR) example in case you need it
- Logged in status synchronized between browser windows/tabs using
withUser
hook andswr
module - Layout based on the user's logged-in/out status
- Session data is signed and encrypted in a cookie
Online demo at https://next-iron-session.now.sh/ 👀
Deploy your own
Deploy the example using ZEIT Now:
How to use
Using create-next-app
Execute create-next-app
with npm or Yarn to bootstrap the example:
npx create-next-app --example with-iron-session with-iron-session-app
# or
yarn create next-app --example with-iron-session with-iron-session-app
Download manually
Download the example:
curl https://codeload.github.com/zeit/next.js/tar.gz/canary | tar -xz --strip=2 next.js-canary/examples/with-iron-session
cd with-iron-session
Install it and run:
npm install
npm run dev
# or
yarn
yarn dev
Deploy it to the cloud with ZEIT Now (Documentation).