Hi there,
I'm using the client sdk to authenticate the user within my nextjs frontend. I also need to access the user object, so I also use the server sdk. I followed these two guides to set it up:
- https://appwrite.io/docs/tutorials/nextjs-ssr-auth/step-3
- https://appwrite.io/blog/post/introducing-support-for-server-side-rendering
I use the OTP function for authentication (the one, where the user gets a one time password send via mail). I'm still having trouble to create a server session next to the client session.
I use this code:
app/page/login/page.tsx
const session = await account.createSession(userId, otp);
await fetch('/api/login', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({userId, otp}),
});
And I do this on the server side:
app/api/login/route.ts
export async function POST(request: NextRequest){
const { account } = await createAdminClient();
const { userId, otp } = await request.json();
const session = await account.createSession(userId, otp);
I always get the error: Invalid token passed in the request.
So now my question is: How can I share the session between client and server when using the OTP for auth? Thanks!
Recommended threads
- How to Avoid Double Requests in function...
I'm currently using Appwrite's `functions.createExecution` in my project. I want to avoid double requests when multiple actions (like searching or pagination) a...
- Send Email Verification With REST
I am using REST to create a user on the server side after receiving form data from the client. After the account is successfully created i wanted to send the v...
- Use different email hosts for different ...
Hello, I have 2 projects and i want to be able to set up email templates in the projects. Both projects will have different email host configurations. I see ...