Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error: No session at createSessionClient #514

Open
mrwebninja opened this issue Jun 12, 2024 · 1 comment
Open

Error: No session at createSessionClient #514

mrwebninja opened this issue Jun 12, 2024 · 1 comment

Comments

@mrwebninja
Copy link

mrwebninja commented Jun 12, 2024

I am building nextjs 14 app using appwrite cloud V1.5.7, trying to authenticate users with appwrite SSR following this article "https://appwrite.io/docs/tutorials/nextjs-ssr-auth/step-1"
signIn & signUp are working fine but getting issues with get LoggedIn user both return response success
after first signup get LoggedIn user working fone but after login in getting issue with get LoggedIn

SignUp function

export const signUp = async (userData: SignUpParams) => {
	const {email, password, firstName, lastName} = userData;
	try {
		const { account } = await createAdminClient();

		const newUserAccount = await account.create(
			ID.unique(), 
			email, 
			password, 
			name
		);
		const session = await account.createEmailPasswordSession(email, password);
	  
		cookies().set("appwrite-session", session.secret, {
		  path: "/",
		  httpOnly: true,
		  sameSite: "strict",
		  secure: true,
		});
		return parseStringify(newUserAccount);
		
	} catch (error) {
		console.log('error', error)
	}
}

SignIn function

export const signIn = async ({email, password}:signInProps) => {
	try {
		const { account } = await createAdminClient();
		const response = await account.createEmailPasswordSession(email, password);
		return parseStringify(response);
	} catch (error) {
		console.log('error', error)
	}
}

getLoggedInUser function

export async function getLoggedInUser() {
	try {
	  const { account } = await createSessionClient();
	  const user = await account.get();
	  return parseStringify(user);
	} catch (error) {
	  console.log( error)
	  return null;
	}
  }

createSessionClient() in appwrite.ts

export async function createSessionClient() {
  const client = new Client()
    .setEndpoint(process.env.NEXT_PUBLIC_APPWRITE_ENDPOINT!)
    .setProject(process.env.NEXT_PUBLIC_APPWRITE_PROJECT!);

  const session = cookies().get("appwrite-session");
  if (!session || !session.value) {
    throw new Error("No session");
  }

  client.setSession(session.value);

  return {
    get account() {
      return new Account(client);
    },
  };
}

error in getLoggedInUser after signing

getLoggedInUser Error: No session
    at createSessionClient (webpack-internal:///(rsc)/./lib/appwrite.ts:20:15)
    at getLoggedInUser (webpack-internal:///(rsc)/./lib/actions/user.action.ts:56:97)
    at Home (webpack-internal:///(rsc)/./app/(root)/page.tsx:21:101)
    at e_ (D:\STUDY\NEXTJS\javascriptmastery\jsm_banking\node_modules\next\dist\compiled\next-server\app-page.runtime.dev.js:35:264092)
    at e (D:\STUDY\NEXTJS\javascriptmastery\jsm_banking\node_modules\next\dist\compiled\next-server\app-page.runtime.dev.js:35:268224)
    at eF (D:\STUDY\NEXTJS\javascriptmastery\jsm_banking\node_modules\next\dist\compiled\next-server\app-page.runtime.dev.js:35:268712)
    at eq (D:\STUDY\NEXTJS\javascriptmastery\jsm_banking\node_modules\next\dist\compiled\next-server\app-page.runtime.dev.js:35:274676)
    at ej (D:\STUDY\NEXTJS\javascriptmastery\jsm_banking\node_modules\next\dist\compiled\next-server\app-page.runtime.dev.js:35:264920)
    at e_ (D:\STUDY\NEXTJS\javascriptmastery\jsm_banking\node_modules\next\dist\compiled\next-server\app-page.runtime.dev.js:35:263962)
    at e (D:\STUDY\NEXTJS\javascriptmastery\jsm_banking\node_modules\next\dist\compiled\next-server\app-page.runtime.dev.js:35:268224)
    at eF (D:\STUDY\NEXTJS\javascriptmastery\jsm_banking\node_modules\next\dist\compiled\next-server\app-page.runtime.dev.js:35:268712)
    at D:\STUDY\NEXTJS\javascriptmastery\jsm_banking\node_modules\next\dist\compiled\next-server\app-page.runtime.dev.js:35:265943
    at Array.toJSON (D:\STUDY\NEXTJS\javascriptmastery\jsm_banking\node_modules\next\dist\compiled\next-server\app-page.runtime.dev.js:35:266407)
    at stringify (<anonymous>)
    at eq (D:\STUDY\NEXTJS\javascriptmastery\jsm_banking\node_modules\next\dist\compiled\next-server\app-page.runtime.dev.js:35:274775)
    at eJ (D:\STUDY\NEXTJS\javascriptmastery\jsm_banking\node_modules\next\dist\compiled\next-server\app-page.runtime.dev.js:35:275293)
    at Timeout._onTimeout (D:\STUDY\NEXTJS\javascriptmastery\jsm_banking\node_modules\next\dist\compiled\next-server\app-page.runtime.dev.js:35:265080)
    at listOnTimeout (node:internal/timers:569:17)
    at process.processTimers (node:internal/timers:512:7)

Please help me with this
Thanks in advance

@ronank7z
Copy link

maybe the APPWRITE_SECRET in .env is wrong as in the tutorial you need to change it just like the appwrite provide which is NEXT_APPWRITE_KEY

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants