Пользователи и профили
Регистрация и вход
Вход и регистрация выполняются через модальное окно на главной странице: /?modal=auth. GET-запросы на /login и /register без данных формы перенаправляются на модальное окно.
| Действие | Маршрут |
|---|---|
| Вход | POST /login |
| Регистрация | POST /register |
| Выход | POST /logout |
После регистрации платформа может потребовать верификацию email — это настраивается в Admin Panel → Аутентификация (/admin-panel/settings/auth) → Требовать верификацию email.
Ограничения частоты запросов
| Группа | Лимит |
|---|---|
Вход (login) | 5 запросов в минуту |
Регистрация (register) | 5 запросов в минуту |
| Комментарии | 30 запросов в минуту |
| Медиа | 20 запросов в минуту |
| Личные сообщения (chat) | 60 запросов в минуту |
| Webhooks платежей | 120 запросов в минуту |
One Tap (Google / Яндекс)
Для гостей доступно всплывающее предложение быстрого входа через Google One Tap или Яндекс One Tap. Включение — Admin Panel → Аутентификация (/admin-panel/settings/auth) → раздел Быстрый вход. Для каждого провайдера должен быть настроен Client ID в соответствующем OAuth-блоке.
Аутентификация One Tap: POST /one-tap/{provider}.
OAuth (вход через соцсети)
Поддерживаемые провайдеры:
| Провайдер | Включение |
|---|---|
| Admin Panel → Аутентификация | |
| Яндекс | Admin Panel → Аутентификация |
| ВКонтакте | Admin Panel → Аутентификация |
| Admin Panel → Аутентификация | |
| Apple | Admin Panel → Аутентификация |
| GitHub | Admin Panel → Аутентификация |
Каждый провайдер требует Client ID и Client Secret — их нужно получить на стороне провайдера и ввести в Админ-панели. Callback URI для каждого провайдера — в разделе Адреса сервисов.
Восстановление пароля
Форма доступна в модальном окне авторизации (/?modal=auth). Запрос ссылки: POST /password/email. Сброс по ссылке из письма: POST /password/reset, страница с токеном — /email/reset.
Cookie consent
Баннер согласия на cookies отправляет выбор пользователя: POST /cookie-consent.
Настройки текста и поведения баннера — Admin Panel → Cookie consent (/admin-panel/settings/cookie-consent).
Публичный профиль
Страница профиля: /{slug}
Профиль содержит:
- Аватар — статичное изображение или видеоаватар (по подписке)
- Шапка — фоновое изображение профиля
- Имя и описание — краткая биография
- Список постов пользователя
- Количество подписчиков и подписок
- Рейтинговые значки (при наличии подписки)
Настройки аккаунта
Страница настроек: /settings
| Раздел | Что настраивается |
|---|---|
| Профиль | Имя, описание, аватар, шапка |
| Пароль | Смена пароля |
| Уведомления | Какие уведомления получать |
| Онлайн-статус | Показывать ли статус «в сети» |
| Лента по умолчанию | Персональная / Популярная / Новые |
Подписки на авторов
Пользователи подписываются на авторов — их посты появляются в персональной ленте.
- Подписаться:
POST /follows/{user} - Отписаться:
DELETE /follows/{user} - Список подписчиков:
/profile/{user}/followers
Игнор пользователей
Заблокированные пользователи не отображаются в ленте и комментариях.
- Добавить в игнор:
POST /ignore/{user} - Убрать из игнора:
DELETE /ignore/{user}
Также доступен игнор постов и ключевых слов (ignored_keywords).
Личные сообщения
Приватные чаты: /m
- Список диалогов:
/m - Чат с пользователем:
/m/{chat} - Начать новый чат:
POST /m/start/{user}
Сообщения доставляются в реальном времени через WebSocket (Reverb).
Мягкое удаление аккаунта
При удалении аккаунт помечается как удалённый (soft delete) — данные сохраняются. Пользователь может восстановить аккаунт через страницу /account/restore.
Безвозвратное удаление аккаунтов выполняется командой:
php artisan users:purge-deletedРейтинг пользователей
Пользователи получают рейтинг на основе активности и популярности постов. История рейтинговых мест хранится в таблице rating_place_histories.
Обновление рейтинга:
php artisan rating:update-place-historyВиджет Топ авторов в сайдбаре показывает пользователей с наибольшим рейтингом. Управление — Admin Panel → Топ пользователей (/admin-panel/top-users).
Функции по подписке
Некоторые возможности профиля доступны только при наличии активной подписки:
| Функция | Описание |
|---|---|
| Видеоаватар | Короткое видео вместо статичного аватара |
| Кастомные значки | Личные иконки/бейджи на профиле |
| Fancy-никнейм | Особое оформление имени пользователя |
Управление пользователями в Админ-панели
Admin Panel → Пользователи (/admin-panel/users):
- Поиск по имени, email
- Просмотр профиля и истории
- Редактирование данных
- Выдача/снятие ролей администратора
- Настройка прав доступа к разделам
Роли и права
Система ролей:
| Роль | Уровень доступа |
|---|---|
| Пользователь | Стандартный доступ к сайту |
| Администратор | Доступ к Админ-панели (настраивается) |
Администратор получает доступ к разделам, определённым в Admin Panel → Права доступа (/admin-panel/admin-permissions). Каждый раздел можно включить или отключить отдельно.