Skip to content

Private Page(s)

Once user is authenticated, you can build private routes like a user dashboard, account, etc.

Here’s an example of a simple user dashboard showing private user data in the page:

---
import { getSession } from '@/lib/auth'

const session = getSession(Astro.request)

if (session) {
  // If need to do something on the server side say fetch data for the user
  // This is the right block to do it
} else {
  // In case the user is not logged in
  // Redirect them for example
  return Astro.redirect('/')
}
---

<html>
  <head> </head>
  <body>
    The user that's logged name is {session.user.name}
  </body>
</html>