Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Error: No session at createSessionClient

Đang mở
#514 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
25/100
Loại issue
Lỗi
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Công nghệ
nextjs, typescript
Lĩnh vực
authentication

Hướng nghiên cứu

Bắt đầu với createSessionClient trong appwrite.ts và so sánh cách signUp và signIn xử lý cookie appwrite-session. Theo dõi getLoggedInUser từ user.action.ts qua trang SSR của Next.js và so sánh với hướng dẫn SSR được liên kết. Hoàn tất khi getLoggedInUser có thể lấy người dùng sau khi đăng nhập mà không gặp lỗi No session.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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

Ngôn ngữ chính
Không có dữ liệu ngôn ngữ
Star
1.1k
Fork
280
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue tương tự

Thêm issue về Security

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.