У меня есть текстовый файл с паролями из черного списка, и я установил имя файла для аутентификации -> Политика паролей -> Черный список паролей в keycloak. Если есть простые пароли, такие как
password
admin
user
Это работает хорошо - когда я пытаюсь изменить пароль, я вижу это сообщение Error! Invalid password: password is blacklisted.
Но когда я добавляю в этот список более сложный пароль, например Music.1%
, это не работает - я могу изменить пароль на этот.
Почему это так работает и есть ли способы занести в черный список похожие пароли в файле?
Из документации Keycloak можно прочитать следующее:
Черный список паролей
Эта политика проверяет, является ли заданный пароль (преобразованный в нижний регистр) содержится в файле черного списка, который потенциально может быть очень большим файлом. Черные списки паролей представляют собой простые текстовые файлы UTF-8 с окончаниями строк Unix. где каждая строка представляет собой пароль из черного списка. Все пароли в черный список должен быть написан строчными буквами, чтобы обеспечить нечувствительность к регистру сравнение. Имя файла черного списка должно быть указано как значение политики паролей, например. 10_million_password_list_top_1000000.txt. Файлы черного списка разрешены против ${jboss.server.data.dir}/password-blacklists/ по умолчанию. Этот путь можно настроить через keycloak.password.blacklists.path системное свойство или свойство blacklistsPath passwordBlacklist policy Конфигурация SPI.
Причина, по которой пароли «пароль», «админ» и «пользователь» работают, а «Музыка.1%» — нет, заключается в том, что первые три написаны строчными буквами, а последний — нет. Это не специальный символ.