newЧитать ~4 мин

Email-авторизация

Добавьте на сайт регистрацию и вход по email/паролю. Пользователи смогут создавать аккаунты, входить и видеть персональный контент.

Тариф

Интеграция доступна на всех тарифах, включая бесплатный.

Что вы получите

📝

Форма регистрации

Email + пароль, валидация, повторяющиеся email

🔑

Форма входа

Вход в аккаунт с обработкой ошибок (неверный пароль и т.д.)

👤

Личный кабинет

Страница профиля с данными пользователя

🛡️

Защита страниц

Закрытые разделы только для авторизованных пользователей

Подключение

1

Откройте Интеграции

Перейдите в проект → Интеграции → Email-авторизация.
2

Подключите

Для Email-авторизации не нужны API-ключи — просто нажмите «Подключить». Всё работает через встроенную систему MoonelyDB.
3

AI сгенерирует код

После подключения AI автоматически предложит добавить формы регистрации, входа и личный кабинет.

Как работает авторизация

Email-авторизация использует встроенную систему MoonelyDB Auth. Пароли хешируются на сервере, сессии хранятся в базе:

  1. Пользователь заполняет форму регистрации (email + пароль)
  2. Пароль хешируется и сохраняется в базе MoonelyDB
  3. При входе — проверка пароля на сервере
  4. Создаётся JWT-сессия, сохраняется в localStorage
  5. Защищённые страницы проверяют наличие валидной сессии

Пример кода

AI сгенерирует подобный код автоматически:

// Регистрация
const user = await db.auth.register({
  email: "user@example.com",
  password: "securePassword123"
});

// Вход
const session = await db.auth.login({
  email: "user@example.com",
  password: "securePassword123"
});

// Текущий пользователь
const me = db.auth.currentUser();

// Выход
db.auth.logout();

// Проверка авторизации
if (db.auth.isAuthenticated()) {
  // показать личный кабинет
}

Совет

Первый зарегистрированный пользователь автоматически становится администратором сайта. Используйте db.auth.setRole для управления ролями.