iron-session - Authentication example
This example creates an authentication system that uses a signed and encrypted cookie to store session data.
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` for data fetching
- 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
Steps to test the functionality:
- Click login and enter your GitHub username.
- Click home and click profile again, notice how your session is being used through a token stored in a cookie.
- Click logout and try to go to profile again. You'll get redirected to the `/login` route.