Rank 3: Container
Well yeah it only shows how to run it
Votes
1
Replies
24
Participants
Unknown
Messages
25
Rank 3: Container
Well yeah it only shows how to run it
Admin
The how does it work explains how it works:
https://github.com/Meldiron/appwrite-ssr-next-js/#-so-how-does-it-work
Rank 3: Container
Well yeah but more about how I can implement it tbh so I would need to make a API endpoint that will save the user data?
Rank 3: Container
Well like this
Rank 3: Container
But is there a example code with only the core things because I cannot see it in the code instantly...
Rank 3: Container
Because I have found this so basically set the cookies to the main website but to my understanding you still need to fetch the username right?
Admin
The repo has all the codes.
Admin
Rank 3: Container
ah it sets it in the cookies after it fetched the data
Rank 3: Container
makes sense
Admin
And then future requests pulls the data out of the cookie: https://github.com/Meldiron/appwrite-ssr-next-js/blob/32cbcd586be3d63423d8bfc7a3a7e958dad00eba/src/app/page.tsx#L8
Rank 3: Container
alr will make my own version of that then 
Rank 3: Container
With some copy pasting
Rank 3: Container
[SOLVED] nextJS SSR
Rank 3: Container
nextJS SSR
Rank 3: Container
Quick question how can I retrieve the jwt token so the token to store to get access to the api endpoint
Admin
Appwrite uses cookies which is why there's this: https://github.com/Meldiron/appwrite-ssr-next-js/blob/32cbcd586be3d63423d8bfc7a3a7e958dad00eba/src/app/api/login/route.ts#L39
Rank 3: Container
So like:
const response = await fetch( `${AppwriteEndpoint}/account/sessions`, { method: "POST", headers: { "x-appwrite-project": AppwriteProject, }, } );
const json = await response.json();
const cookiesStr = (response.headers.get("set-cookie") ?? "") .split(appwriteHostname) .join(ssrHostname);``` And this will return the cookies?Rank 3: Container
because that return with null so I am probably doing something wrong
Admin
Did you set the domains up like the readme described?
Rank 3: Container
I did this
export default async function handler(req, res) { const response = await fetch( process.env.APPWRITE_URL + `/v1/account/sessions`, { method: "POST", headers: { "x-appwrite-project": process.env.APPWRITE_PROJECT, }, } );
const cookiesStr = (response.headers.get("set-cookie") ?? "") .split(process.env.APPWRITE_URL) .join(process.env.NEXTAUTH_URL); return res .status(200) .json({ success: true, info: response.headers.get("set-cookie") });}Admin
The actual hostnames of your app and Appwrite matter
Rank 3: Container
oh nvm I get it now so put appwrite to process.env.NEXTAUTH_URL
Admin
To ensure server-side rendering works, we need to set those cookies on our SSR server hostname instead of the Appwrite hostname. Let's say our Appwrite instance is on cloud.appwrite.io, and our app is on myapp.com. SSR server on domain myapp.com won't receive appwrite.io cookies. This is expected behavior, as browsers keep 1st party cookies securely scoped to specific domains.
Rank 3: Container
[SOLVED] nextJS SSR