Identica
ОфициальныеCredential

Пароли

Каким требованиям должен соответствовать пароль и как провайдер Credential хранит пароли.

Требования к паролю

Новые пароли — при регистрации и при смене командой /changepassword — должны соответствовать требованиям из scenario.registration.credential в providers/Credential/settings.yml:

scenario:
  registration:
    credential:
      minLength: 6
      maxLength: 32
      minUpper: 1
      minLower: 1
      minNumber: 1
      minSpecial: 1

По умолчанию пароль должен содержать от 6 до 32 символов, среди них хотя бы одну заглавную букву, одну строчную, одну цифру и один специальный символ. Это строже, чем привыкли многие игроки; укажите 0 для требования, чтобы перестать его проверять. Пробелы запрещены всегда.

Повторный ввод пароля

При requireRepeat: true (по умолчанию) новый игрок вводит пароль командой /pass, а затем ещё раз командой /passconfirm. При false аккаунт создаётся после первого ввода пароля.

changePassword.requireRepeat делает то же для /changepassword <current> <new> [repeat]. При false аргумент repeat необязателен, но если он указан, он всё равно должен совпадать. Команда продолжает показывать [repeat] в справке, пока вы не удалите его и из описания использования change-password в providers/Credential/commands.yml; см. usage.

Закрытие регистрации

scenario.registration.enabled: false запрещает новым игрокам регистрироваться через Credential, а аккаунтам — переноситься на него. Существующие аккаунты продолжают входить.

Хеширование

Credential никогда не хранит сам пароль, только его хеш. cryptography.algorithm выбирает, как создаются новые хеши:

algorithmПримечания
bcrypt (по умолчанию)широко распространён; читает только первые 72 байта пароля, а символ вне ASCII занимает от двух до четырёх байт
argon2Argon2id; без ограничения длины, расходует больше памяти на каждый вход

Каждый аккаунт помнит, как создан его хеш, поэтому смена алгоритма никого не лишает доступа. При autoupgrade: true (по умолчанию) хеш игрока пересоздаётся настроенным алгоритмом при его следующем успешном входе.

Параметры сложности — algorithms.bcrypt.cost и значения algorithms.argon2 — замедляют вычисление каждого хеша: и при входе, и для того, кто пытается подобрать пароли по украденной базе данных. Повышайте их лишь настолько, насколько ваш прокси справляется в часы пиковых входов.

Все настройки описаны на странице Настройки.

На этой странице