Итак, я интегрировал конечные точки API keycloak в свой проект Symfony ..

Что касается https://ultimatesecurity.pro/post/password-policy/, мы добавили: not username »для проверки создания нового пользователя в приложении.

Идея состоит в том, чтобы объявить конкретный метод с определенной конечной точкой, которая будет это делать.

Я проверял документацию и не нашел ни одной конечной точки, которая могла бы проверять правила политики паролей -> документация

Идея для этого:

$options = [
        'headers' => $this->getAuthJsonHeaders()
    ];

    try {
        $endpoint = sprintf('auth/admin/realms/%s/', $this->realm);
        $response = $this->request('GET', $endpoint, $options);
        return $response;
    } catch (\Exception $e) {
        $this->exception('Can`t reset user password on Keycloak. ' . $e->getMessage());
    }

Вот что я получаю:

image

При сбросе результатов

1
joopeerr 8 Дек 2020 в 13:29

1 ответ

Лучший ответ

Чтобы получить список password policies, используемых Realm, вы должны вызвать следующую конечную точку:

GET <KEYCLOAK_HOST>/auth/admin/realms/<YOUR_REALM>

Из ответа JSON извлеките поле:

passwordPolicy

Который, например, если вы установили Minimum length to 12 и Hashing Iterations to 27500, passwordPolicy будет "length(12) and hashIterations(27500)"

1
dreamcrash 8 Дек 2020 в 11:57