PE photoEnhance

SvelteKit + TypeScript

Пример ручной аутентификации без базы данных.

Пользователи хранятся в Yandex Object Storage как отдельные JSON-файлы, а сервер после входа создаёт собственную signed `httpOnly` cookie-сессию.

Email/password

Пароль хранится только как безопасный scrypt hash.

Google OIDC

OAuth callback обновляет или создаёт JSON пользователя.

hooks.server.ts

Повторные запросы читают только cookie и `event.locals`.

Session State

Нужен вход

Маршруты уже готовы: `/login`, `/auth/register`, `/auth/password`, `/auth/google`, `/auth/google/callback`, `/logout` и `/app`.