How to handle authentication with Firebase Auth in SvelteKit on server side.
It uses a sameSite httpOnly cookie to store the idToken from Firebase Auth. The token persists in $session via hooks and load function on page refresh.
Also, goto
is used instead of window.location
for navigate/redirect after logged in and logged out.
Note : Firebase SDKs are not used here, as I opted for Firebase REST API. Check endpoints in
src/routes/auth/
email : [email protected]
password: mailmail
Once you've cloned the repo, start a development server:
npm install
npm run dev
# or start the server and open the app in a new browser tab
npm run dev -- --open
Then create your own Firebase project, copy its Web API and add it in .env
file like this :
VITE_FIREBASE_WEB_API="REPLACE-WITH-YOUR-WEB-API"
Don't forget to add a user in Firebase Auth console.
Before creating a production version of your app, install an adapter for your target environment. Then:
npm run build
You can preview the built app with
npm run preview
, regardless of whether you installed an adapter. This should not be used to serve your app in production.