Сброс пароля пользователя в Keycloak: несколько методов с примерами кода

Keycloak — это решение для управления идентификацией и доступом с открытым исходным кодом, которое предоставляет такие функции, как аутентификация, авторизация и управление пользователями. В этой статье блога мы рассмотрим несколько методов сброса паролей пользователей в Keycloak, а также приведем примеры кода.

Метод 1: использование REST API администратора Keycloak
Keycloak предоставляет комплексный API REST администратора, который обеспечивает программный доступ к различным административным задачам, включая сброс пароля. Вот пример использования API в Python:

import requests
import json
# Define Keycloak admin credentials and endpoint
keycloak_admin_url = "http://localhost:8080/auth/admin/realms/master/users"
username = "admin"
password = "admin-password"
# Define the user ID for which the password needs to be reset
user_id = "18"
# Define the new password
new_password = "new-password"
# Prepare the request payload
payload = {
    "type": "password",
    "temporary": False,
    "value": new_password
}
# Set the request headers
headers = {
    "Content-Type": "application/json"
}
# Send the request to reset the password
response = requests.put(
    f"{keycloak_admin_url}/{user_id}/reset-password",
    data=json.dumps(payload),
    headers=headers,
    auth=(username, password)
)
# Check the response status
if response.status_code == 204:
    print("Password reset successful!")
else:
    print("Password reset failed.")

Метод 2: использование консоли администратора Keycloak
Keycloak предоставляет интуитивно понятную веб-консоль администратора, которая позволяет администраторам управлять пользователями и выполнять различные административные задачи. Вот как можно сбросить пароль пользователя с помощью консоли администратора:

  1. Войдите в консоль администратора Keycloak.
  2. Перейдите в раздел «Пользователи».
  3. Найдите и выберите пользователя с идентификатором 18.
  4. Нажмите вкладку «Учетные данные».
  5. В разделе «Временный пароль» введите новый пароль.
  6. Нажмите кнопку «Сбросить пароль».

Метод 3: использование интерфейса командной строки (CLI) Keycloak
Keycloak также предоставляет инструмент интерфейса командной строки (CLI), который позволяет администраторам управлять и настраивать Keycloak из командной строки. Вот пример использования CLI для сброса пароля пользователя:

$ bin/kcadm.sh update users/18 -r master -s credentials[0].temporary=false -s credentials[0].value=new-password

Сброс паролей пользователей — важнейший аспект управления пользователями и безопасности в Keycloak. В этой статье мы рассмотрели несколько методов сброса паролей пользователей в Keycloak. Мы рассмотрели использование REST API администратора Keycloak, консоли администратора и интерфейса командной строки (CLI). Используя эти методы, администраторы могут эффективно управлять паролями пользователей и повышать безопасность развертываний Keycloak.