Download create-next-app
to bootstrap the example:
npm i -g create-next-app
create-next-app --example with-cookie-auth NextJS-Auth
$ cd NextJS-Auth
$ (NextJS-Auth/) npm install
$ (NextJS-Auth/) npm run dev
In this example, we authenticate users and store a token in a cookie. The example only shows how the user session works, keeping a user logged in between pages.
This example is backend agnostic and uses isomorphic-unfetch to do the API calls on the client and the server.
The repo includes a minimal passwordless backend built with the new API Routes support (pages/api
), Micro and the GitHub API. The backend allows the user to log in with their GitHub username.
Session is synchronized across tabs. If you logout your session gets removed on all the windows as well. We use the HOC withAuthSync
for this.
The helper function auth
helps to retrieve the token across pages and redirects the user if not token was found.