auth отвечает за регистрацию, авторизацию, двухфакторную аутентификацию, сброс пароля и подтверждение email.
OAuth-подключения (Discord, VK, Telegram, Google, Yandex) обрабатываются отдельным роутером
connections, а не auth.trpc.auth.*
Процедуры
register
Регистрация нового пользователя.- Тип:
mutation - Доступ:
publicProcedure
Имя пользователя (3–50 символов)
Email-адрес
Пароль (минимум 6 символов)
URL аватара (опционально)
URL скина (опционально)
URL плаща (опционально)
Дополнительные данные. Поддерживает
referralCode (1–64 символа, шаблон [A-Za-z0-9_-]+) для привязки реферала.ID созданного пользователя
Успешность операции
Требуется ли подтверждение email (зависит от настройки
security.require_email_verification)CONFLICT— пользователь с таким email или именем уже существуетTOO_MANY_REQUESTS— превышен лимит регистраций (5 в минуту с одного IP)INTERNAL_SERVER_ERROR— не удалось создать аккаунт
login
Вход по email/username и паролю.- Тип:
mutation - Доступ:
publicProcedure
Email или имя пользователя
Пароль
6-значный TOTP-код (если включена 2FA)
Резервный код (альтернатива TOTP, 6–64 символа)
Информация об устройстве:
fingerprint (string), userAgent, browserName, browserVersion, osName, osVersion, deviceType (все, кроме fingerprint, могут быть null).IP клиента (используется как fallback, если контекст не определил IP)
Токен сессии
Объект пользователя (
id, uuid, username, email, verified, avatar, skin, cape, isBanned, permissions, groups)Требуется ли верификация устройства
Тип требуемой верификации (или
null)ID запроса верификации (или
null)Причины, по которым потребовалась верификация
Доступные методы верификации
Сколько методов верификации нужно пройти
UNAUTHORIZED— неверный логин/пароль или неверный код 2FAFORBIDDEN— аккаунт заблокированPRECONDITION_FAILED— включена 2FA, но не передан TOTP-код и резервный кодTOO_MANY_REQUESTS— превышен лимит попыток входа (30 в минуту с IP / 10 в минуту на логин)
logout
Выход из системы. Удаляет текущую сессию и очищает cookie.- Тип:
mutation - Доступ:
protectedProcedure
Успешность операции
me
Возвращает данные текущего авторизованного пользователя.- Тип:
query - Доступ:
protectedProcedure
Объект пользователя:
id, uuid, username, email, verified, avatar, skin, cape, isBanned, permissions, groupschangePassword
Смена пароля авторизованным пользователем.- Тип:
mutation - Доступ:
protectedProcedure
Текущий пароль
Новый пароль (минимум 6 символов)
Успешность операции
UNAUTHORIZED— неверный текущий парольINTERNAL_SERVER_ERROR— пароль не найден
forgotPassword
Запрос сброса пароля. Отправляет ссылку на email. Всегда возвращает{ success: true }, чтобы не раскрывать существование аккаунта.
- Тип:
mutation - Доступ:
publicProcedure
Email пользователя
Всегда
trueresetPassword
Установка нового пароля по токену сброса. Аннулирует все активные сессии пользователя.- Тип:
mutation - Доступ:
publicProcedure
Токен из ссылки сброса
Новый пароль (минимум 6 символов)
Успешность операции
BAD_REQUEST— недействительная, уже использованная или истёкшая ссылка сброса
sendVerificationEmail
Отправка кода подтверждения email текущему пользователю.- Тип:
mutation - Доступ:
protectedProcedure
Успешность операции
BAD_REQUEST— email уже подтверждёнTOO_MANY_REQUESTS— повторная отправка возможна не чаще раза в минуту
verifyEmail
Подтверждение email текущего пользователя по 6-значному коду.- Тип:
mutation - Доступ:
protectedProcedure
6-значный код из письма
Успешность операции
Подтверждён ли email
BAD_REQUEST— email уже подтверждён, неверный или истёкший кодTOO_MANY_REQUESTS— превышен лимит попыток (5 в минуту)
resendVerificationEmail
Повторная отправка кода подтверждения email текущему пользователю.- Тип:
mutation - Доступ:
protectedProcedure
Успешность операции
BAD_REQUEST— email уже подтверждёнTOO_MANY_REQUESTS— повторная отправка возможна не чаще раза в минуту