Handling 'window is not defined' Error in Next.js Middleware with Appwrite
- 0
- Self Hosted
- Auth
- Tools
- Web

Hello, community!
I've been working on integrating Appwrite with a Next.js project and encountered a challenge specifically within the middleware portion of the application. My goal is straightforward: I want to check if a user is already logged in using the middleware, leveraging Appwrite's Client and Account modules for the task.
However, I've hit a roadblock - when attempting to use these modules in the middleware, I'm consistently running into a ReferenceError: window is not defined. This error suggests that the code is trying to access the window object, which, as we know, isn't available on the server side where the middleware operates.
It's important to note that my implementation doesn't explicitly call any browser-specific APIs directly, yet it seems that utilizing Appwrite's Client and Account somehow triggers this issue.
I'm reaching out to see if anyone has navigated this problem before or can offer insights into a workaround. Specifically, I'm looking for advice on:
How to effectively check a user's login state in Next.js middleware without falling foul of the window is not defined error. Any best practices for using Appwrite with Next.js that might circumvent this issue. I'm all ears for any suggestions, workarounds, or guidance you can provide. Thanks in advance for your help!
Recommended threads
- Looking for Partner
I'm looking for a partner for long-term collaboration. Of course, you'll get paid for it. If you are interested, please send a DM to me
- Having errors migrating to cloud
Project will not migrate compeltely
- ENV vars not updating
When i do `nano .env` it shows `_APP_DOMAIN_TARGET=` as set to my domain, but when i do `docker compose exec appwrite vars` it shows `_APP_DOMAIN_TARGET=` as ...
