Forward SSR Cookies in Nuxt Content Internal API Requests #3385
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What this fixes
When Nuxt renders pages in SSR mode and loads content via
@nuxt/content
, it performs internal$fetch()
calls to endpoints like:These internal fetches previously did not forward cookies from the original SSR request. This broke any logic in server middleware that depends on cookie-based user authentication or authorization.
Why this matters
This project uses server middleware to control access to specific content collections based on user authentication. For example:
Without the cookie being forwarded in internal SSR fetches,
serverSupabaseUser(event)
fails to detect the logged-in user, which causes middleware-based access checks to incorrectly deny access during SSR. Client-side navigation still works because the browser includes the cookie automatically.What this PR changes
The
fetchQuery()
andfetchDatabase()
functions in Nuxt Content now forward the original SSR request's cookies by including them in$fetch
calls:This ensures middleware that inspects
/__nuxt_content/**
requests has full access to the request's authentication context.Result