Перейти к основному содержимому

Аутентификация

VoxKey поддерживает несколько методов аутентификации для каждого realm. Каждый метод добавляется как Провайдер и может быть включен или отключен независимо.

Методы аутентификации

Email / Пароль

Провайдер LoginPass обеспечивает классическую аутентификацию по email и паролю.

  • Хеширование паролей через bcrypt
  • Верификация email через одноразовые коды
  • Восстановление пароля
  • Защита CAPTCHA (настраивается для каждого realm)

Социальный вход (OAuth2)

Подключение внешних провайдеров идентификации. Пользователь нажимает кнопку и авторизуется через экран согласия провайдера.

ПровайдерПротоколВозвращаемые данные
GoogleOAuth2email, имя, аватар
GitHubOAuth2email, имя, аватар
DiscordOAuth2email, имя, аватар
YandexOAuth2email, имя, аватар
SteamOpenIDSteam ID, имя

Формат callback URL для OAuth2-провайдеров:

https://your-domain.com/oauth2/{realmUUID}/login/{providerName}

WebAuthn / Passkeys

Беспарольная аутентификация через платформенные аутентификаторы (Touch ID, Face ID, Windows Hello) или аппаратные ключи (YubiKey).

  • Регистрация и вход через WebAuthn API
  • Может использоваться как основной метод или как фактор MFA
  • Предложение регистрации passkey после первого входа (настраивается)

Email-коды

Одноразовые коды, отправляемые на email. Используются для:

  • Беспарольного входа
  • Верификации email при регистрации
  • MFA-вызова

Многофакторная аутентификация (MFA)

MFA добавляет второй этап проверки после основной аутентификации.

Поддерживаемые факторы:

  • TOTP -- одноразовые пароли на основе времени (Google Authenticator, Authy)
  • WebAuthn -- passkeys и аппаратные ключи безопасности

Политики MFA для realm:

  • Disabled -- MFA отключена
  • Optional -- пользователи могут включить MFA в личном кабинете
  • Required -- все пользователи обязаны подключить MFA
  • Skippable -- предложение подключить MFA с возможностью пропуска

Процесс входа

Управление сессиями

VoxKey отслеживает сессии в каждом realm через подписанную cookie rid. Пользователи могут:

  • Просматривать активные сессии в личном кабинете
  • Завершать сессии на других устройствах
  • Видеть историю входов с IP и user agent

Добавление провайдера в realm

  1. Перейдите в Админ-панель > Realms > [Ваш Realm] > Auth Providers
  2. Нажмите Add Provider
  3. Выберите тип провайдера и настройте учетные данные
  4. Установите разрешения: Allow Sign Up, Allow Sign In, Allow Unlink