Skip to content

Пользователи и профили

Регистрация и вход

Вход и регистрация выполняются через модальное окно на главной странице: /?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 (вход через соцсети)

Поддерживаемые провайдеры:

ПровайдерВключение
GoogleAdmin Panel → Аутентификация
ЯндексAdmin Panel → Аутентификация
ВКонтактеAdmin Panel → Аутентификация
FacebookAdmin Panel → Аутентификация
AppleAdmin Panel → Аутентификация
GitHubAdmin Panel → Аутентификация

Каждый провайдер требует Client ID и Client Secret — их нужно получить на стороне провайдера и ввести в Админ-панели. Callback URI для каждого провайдера — в разделе Адреса сервисов.

Восстановление пароля

Форма доступна в модальном окне авторизации (/?modal=auth). Запрос ссылки: POST /password/email. Сброс по ссылке из письма: POST /password/reset, страница с токеном — /email/reset.

Баннер согласия на 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.

Безвозвратное удаление аккаунтов выполняется командой:

bash
php artisan users:purge-deleted

Рейтинг пользователей

Пользователи получают рейтинг на основе активности и популярности постов. История рейтинговых мест хранится в таблице rating_place_histories.

Обновление рейтинга:

bash
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). Каждый раздел можно включить или отключить отдельно.

Released under the MIT License.