Error: No session at createSessionClient
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
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue tương tự
-
Update webpki-root-certsĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
rustls/rustls-platform-verifier#262 · 2 bình luận · 2 reaction ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
maester365/maester#2482 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
chrisdickinson/trivia#26 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100