mirror of
https://github.com/SrIzan10/next-auth.git
synced 2026-05-01 10:55:20 +00:00
* chore: move dev app to its own folder * docs: update CONTRIBUTING.md * docs: fix typos in CONTRIBUTING * chore: gitignore dev app lock files * chore: move release config into package.json
38 lines
1.2 KiB
JavaScript
38 lines
1.2 KiB
JavaScript
import { getSession } from 'next-auth/client'
|
|
import Layout from '../components/layout'
|
|
|
|
export default function Page () {
|
|
// As this page uses Server Side Rendering, the `session` will be already
|
|
// populated on render without needing to go through a loading stage.
|
|
// This is possible because of the shared context configured in `_app.js` that
|
|
// is used by `useSession()`.
|
|
|
|
return (
|
|
<Layout>
|
|
<h1>Server Side Rendering</h1>
|
|
<p>
|
|
This page uses the universal <strong>getSession()</strong> method in <strong>getServerSideProps()</strong>.
|
|
</p>
|
|
<p>
|
|
Using <strong>getSession()</strong> in <strong>getServerSideProps()</strong> is the recommended approach if you need to
|
|
support Server Side Rendering with authentication.
|
|
</p>
|
|
<p>
|
|
The advantage of Server Side Rendering is this page does not require client side JavaScript.
|
|
</p>
|
|
<p>
|
|
The disadvantage of Server Side Rendering is that this page is slower to render.
|
|
</p>
|
|
</Layout>
|
|
)
|
|
}
|
|
|
|
// Export the `session` prop to use sessions with Server Side Rendering
|
|
export async function getServerSideProps (context) {
|
|
return {
|
|
props: {
|
|
session: await getSession(context)
|
|
}
|
|
}
|
|
}
|