утверждает, что нет.
Опишу задачу и предположительно работающее решение:
При успешном логине сервер просто возвращает 200 статус и сетит http-only куку. Наличие куки в данный конкретный момент является единственным индикатором, что пользователь залогинен. После релоада страницы мне нужно узнать, есть кука или нет. Для этого я (пользуясь примером из svelte-realworld) использую хук handle. В нем проверяется наличие куки в реквесте
const cookies = cookie.parse(request.headers.cookie || '');
const jwt = cookies.jwt
И если она присутствует, выставляем значение простого writable стора в true (в целях тестирования я даже наличие куки не проверяю, просто сечу в true)
export const isAuthed = writable(false);
import { isAuthed } from '$lib/stores/auth-store';
export const handle = async ({ request, resolve }) => {
isAuthed.set(true);
return await resolve(request);
};
Однако на лэйауте значени стора остается false
<h1>{$isAuthed}</h1> //false
Чего я тут не учитываю? Может в handle и на страницах разные сторы?
Я использовал session, туда записывал isAuth в getSession хуке
Обсуждают сегодня