0
Fork 0
mirror of https://github.com/withastro/astro.git synced 2025-03-24 23:21:57 -05:00
astro/.changeset/poor-mangos-fold.md
2024-12-16 17:24:13 +00:00

1.1 KiB

astro
minor

Adds experimental session support

Sessions are used to store user state between requests for server-rendered pages, such as login status, shopping cart contents, or other user-specific data.

---
export const prerender = false; // Not needed in 'server' mode
const cart = await Astro.session.get('cart');
---

<a href="/checkout">🛒 {cart?.length ?? 0} items</a>

Sessions are available in on-demand rendered/SSR pages, API endpoints, actions and middleware. To enable session support you must configure a storage driver. If you are using the Node.js adapter, you can use the fs driver to store session data on the filesystem:

// astro.config.mjs
{
  adapter: node({ mode: 'standalone' }),
  experimental: {
    session: {
      // Required: the name of the Unstorage driver
      driver: "fs",
    },
  },
}

If you are deploying to a serverless environment there are other drivers that you can use, such as redis or netlifyBlobs or cloudflareKV.

For full details, see the docs for experimental session support.