9f9214abe5
This PR updates the docs and examples for `create-next-app` to include pnpm usage. The following script was used to update every example README: ```js const fs = require('fs') const examples = fs.readdirSync('./examples') for (let example of examples) { const filename = `./examples/${example}/README.md` const markdown = fs.readFileSync(filename, 'utf8') const regex = new RegExp(`^yarn create next-app --example (.*)$`, 'gm') const output = markdown.replace(regex, (yarn, group) => { const pnpm = `pnpm create next-app -- --example ${group}` return `${yarn}\n# or\n${pnpm}` }) fs.writeFileSync(filename, output) } ``` |
||
---|---|---|
.. | ||
components | ||
lib | ||
pages | ||
public | ||
.env.development | ||
.env.production | ||
.gitignore | ||
next-env.d.ts | ||
next.config.js | ||
package.json | ||
README.md | ||
tsconfig.json | ||
vercel.json |
Example application using iron-session
👀 Online demo at https://iron-session-example.vercel.app
This example creates an authentication system that uses a signed and encrypted cookie to store session data. It relies on iron-session
.
It uses current best practices for authentication in the Next.js ecosystem and replicates parts of how the Vercel dashboard is built.
Features of the example:
- API Routes and getServerSideProps examples.
- The logged in status is synchronized between browser windows/tabs using
useUser
hook and theswr
. - The layout is based on the user's logged-in/out status.
- The session data is signed and encrypted in a cookie (this is done automatically by
iron-session
).
iron-session
also provides:
- An Express middleware, which can be used in any Node.js HTTP framework.
- Multiple encryption keys (passwords) to allow for seamless updates or just password rotation.
- Full TypeScript support, including session data.
Deploy your own
Deploy the example using Vercel or preview live with StackBlitz
How to use
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
# or
pnpm create next-app -- --example with-iron-session with-iron-session-app
Deploy it to the cloud with Vercel (Documentation).