i am using sveltekit and i'm a bit unclear on how to get the current user's session from the server side.
thisi s what i have so far // src/lib/server/appwrite.js import { Client, Account } from 'node-appwrite'; import { APPWRITE_KEY } from '$env/static/private'; import { PUBLIC_APPWRITE_ENDPOINT, PUBLIC_APPWRITE_PROJECT } from '$env/static/public';
export const SESSION_COOKIE = 'my-custom-session';
export function createAdminClient() { const client = new Client() .setEndpoint(PUBLIC_APPWRITE_ENDPOINT) .setProject(PUBLIC_APPWRITE_PROJECT) .setKey(APPWRITE_KEY); // Set the Appwrite API key!
// Return the services we want to use.
return {
get account() {
return new Account(client);
}
};
}
export function createSessionClient(event) { const client = new Client() .setEndpoint(PUBLIC_APPWRITE_ENDPOINT) .setProject(PUBLIC_APPWRITE_PROJECT);
// Extract our custom domain's session cookie from the request
const session = event.cookies.get(SESSION_COOKIE);
if (!session) {
throw new Error("No user session");
}
client.setSession(session);
// Return the services we want to use.
return {
get account() {
return new Account(client);
}
};
}
// src/routes/+page.server.js import { redirect } from '@sveltejs/kit'; export async function load({ locals }) { // Access our user from locals. if (!locals.user) { // If no user is logged in, redirect to the sign up page. redirect(301, '/login'); } // If the user is logged in, redirect to the account page. redirect(301, '/'); }
Recommended threads
- TEAM INVITE
There is a problem with the team invitation. When a user invites other users, that time, the newly created email address they don't get the invite link and old ...
- 500 simultaneous OAuth logins from the s...
Hi, I'd like to ask about rate limiting around Google OAuth login on Appwrite Cloud. **OVERVIEW** Service type: A PWA (web app) for members of a university clu...
- Websites hosted on my appwrite sites hav...
Hello, all my websites hosted on appwrite sites are not running I am getting this message "This site can’t be reached drivehub.appwrite.network took too long t...