7e12997af6
I wrote a [script](https://github.com/j0lv3r4/dependency-version-updater) to update dependencies recursively in `package.json` files, e.g.: ``` $ node index.js --path="./examples" --dependencies="react=^16.7.0,react-dom=^16.7.0" ``` This PR contains the result against the examples folder. |
||
---|---|---|
.. | ||
api | ||
www | ||
now.json | ||
README.md |
Example app utilizing cookie-based authentication
How to use
Using create-next-app
Download create-next-app
to bootstrap the example:
npm i -g create-next-app
create-next-app --example with-cookie-auth with-cookie-auth-app
Download manually
Download the example or clone the repo:
curl https://codeload.github.com/zeit/next.js/tar.gz/canary | tar -xz --strip=2 next.js-canary/examples/with-cookie-auth
cd with-cookie-auth
Install it and run:
npm install
npm run dev
Deploy it to the cloud with now (download)
now
The idea behind the example
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 Micro and it logs the user in with a GitHub username and saves the user id from the API call as token.
Session is syncronized across tabs. If you logout your session gets logged out 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.