Skip to main content

FileSessionStorage

The FileSessionStorage component persists session data to the file system.

Example code​

hydrogen.config.js
import {defineConfig} from '@shopify/hydrogen/config';
import {FileSessionStorage} from '@shopify/hydrogen/FileSessionStorage';

export default defineConfig({
shopify: {/*...*/},
session: FileSessionStorage('__session', '/home/dev/sessions', {
path: '/',
httpOnly: true,
secure: process.env.NODE_ENV === 'production',
sameSite: 'strict',
maxAge: 60 * 60 * 24 * 30,
}),
});

Props​

PropTypeDescription
namestringThe name of the cookie stored in the browser.
dirstringA directory to store the session files in. Each session is stored in a separate file on the file system.
cookieOptionsCookieOptionsAn optional object to configure how the cookie is persisted in the browser.

Component type​

The FileSessionStorage component is a server component that renders inside App.server.jsx. For more information about component types, refer to React Server Components.

Considerations​

Because FileSessionStorage relies on the file system, it shouldn't be used in Edge workers, and instead only in NodeJS deployments.