mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
798ae043ac
Fixes #153 This is my attempt at https://github.com/zeit/next.js/issues/153 Following @rauchg instructions: - it uses an authentication helper across pages which returns a token if there's one - it has session synchronization across tabs - <strike>I deployed a passwordless backend on `now.sh` (https://with-cookie-api.now.sh, [src](https://github.com/j0lv3r4/next.js-with-cookies-api))</strike> The backend is included in the repository and you can deploy everything together by running `now` Also, from reviewing other PRs, I made sure to: - use [isomorphic-unfetch](https://www.npmjs.com/package/isomorphic-unfetch). - use [next-cookies](https://www.npmjs.com/package/next-cookies). Here's a little demo: ![GIF](https://i.imgur.com/067Ph56.gif)
30 lines
673 B
JavaScript
30 lines
673 B
JavaScript
import React from 'react'
|
|
import Layout from '../components/layout'
|
|
|
|
const Home = props => (
|
|
<Layout>
|
|
<h1>Cookie-based authentication example</h1>
|
|
|
|
<p>Steps to test the functionality:</p>
|
|
|
|
<ol>
|
|
<li>Click login and enter your GitHub username.</li>
|
|
<li>
|
|
Click home and click profile again, notice how your session is being
|
|
used through a token stored in a cookie.
|
|
</li>
|
|
<li>
|
|
Click logout and try to go to profile again. You'll get redirected to
|
|
the `/login` route.
|
|
</li>
|
|
</ol>
|
|
<style jsx>{`
|
|
li {
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
`}</style>
|
|
</Layout>
|
|
)
|
|
|
|
export default Home
|