
this is my login action
TypeScript
export async function signInUser(
data: LoginSchema
): Promise<ActionResult<string>> {
try {
const { email, password } = data
const { account } = await createAdminClient();
const session = await account.createEmailPasswordSession(email, password);
cookies().set("appwrite-session", session.secret, {
path: "/",
httpOnly: false,
sameSite: "strict",
secure: false,
});
return { status: 'success', data: 'Logged in' }
} catch (error) {
console.log(error);
return { status: 'error', error: 'Something else went wrong' }
}
}
Get user login session
TypeScript
export async function getLoggedInUser() {
try {
const { account } = await createSessionClient();
return await account.get();
} catch (error) {
return null;
}
}
See session in appwrite console
also see cookie but no data
TL;DR
Developers are trying to implement server-side rendering (SSR) authentication in NextJS using the "node-appwrite" library. They are facing issues with the login session and retrieving the logged-in user. The login action successfully sets the session cookie but is unable to retrieve the user session and data. They can see the session in Appwrite console but not in the cookie.
Solution:
Developers can check the session creation and retrieval logic to ensure the proper handling of sessions and cookies. They may need to troubleshoot the session creation steps to ensure the session data is being properly stored and retrieved. Additionally, verifying the session handling settings such as

console.log on login

"node-appwrite": "^12.1.0-rc.4"
Recommended threads
- OAuth2 Error: invalid success param url ...
Hi everyone! I'm trying to implement Google OAuth2 login in a React Native app (using the Android simulator) with Appwrite Cloud, and I'm getting the following ...
- Invalid credentials after migration
Hi everyone! After migrating our self-hosted Appwrite 1.3.1 to another server (staging, so a different domain), we are now getting 'Invalid credentials' when ...
- implement caching
It it possible to cache response for few minutes? I dont want to create function or implement a whole reverse server just to cache it in somewhere ?
