Azure B2C — Используйте предикаты или регулярные выражения для проверки пароля

#azure-ad-b2c

#azure-ad-b2c

Вопрос:

При проверке паролей пользователей, чтобы убедиться, что они достаточно сложные, при создании учетной записи с помощью пользовательской политики Azure B2C предпочтительнее использовать регулярные выражения или предикаты?

Пользовательская политика по умолчанию, которую мы загрузили из Microsoft, использует регулярные выражения, которые выполняют эту работу. Но было бы лучше изменить файл политики, чтобы вместо этого использовать предикаты?

Ответ №1:

Рекомендуется использовать предикаты. Predicates обеспечивает лучший пользовательский интерфейс и гораздо более гибкую настройку. Да, стартовый пакет по-прежнему использует регулярные выражения, но мы советуем клиентам использовать предикаты. Дополнительные сведения см. в разделе Настройка сложности пароля с помощью пользовательских политик в документе Azure Active Directory B2C.

Ответ №2:

Azure AD B2C по умолчанию использует Strong пароли. Вы можете настроить правила сложности пароля, такие как минимальная, максимальная длина, набор символов / класс, для bult в потоке пользователя. Используя пользовательские политики, у нас будет намного больше свободы для настройки сложности пароля с помощью регулярного выражения (regex) или проверки предикатов.

Регулярное выражение и предикат могут использоваться для ограничения или установки правил для пользовательского ввода. При использовании регулярных выражений возникает некоторая проблема, из-за которой вы можете использовать предикат, например, сообщение об ошибке, которое мы показываем для проверки пользовательского ввода, ограничено для всего регулярного выражения. Но с помощью проверки предикатов вы можете определить набор правил и указать сообщение об ошибке, которые применяются к различным правилам / группам правил, что поможет сообщить о сбоях при вводе данных пользователями.

Мы рекомендуем использовать предикаты вместо регулярных выражений, но выбор зависит от сложности создаваемого пароля.