логотип PurpleSchool
логотип PurpleSchool

Установка и настройка Keycloak в контейнере Docker

Автор

Олег Марков

Введение

Keycloak — это современная платформа управления идентификацией и доступом, которая облегчает управление аутентификацией и авторизацией приложений. Он предлагает такие функции, как единый вход (SSO), социальная аутентификация и централизованное управление пользователями. Использование Keycloak в контейнере Docker упрощает его внедрение и обслуживание. Давайте погрузимся в процесс установки и настройки Keycloak в Docker.

Что такое Keycloak?

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

Установка и настройка Keycloak в контейнере Docker

Настройка Keycloak в контейнере Docker выполняется в несколько шагов. Мы начинаем с установки Docker, создаем контейнер для Keycloak, а затем выполняем основную настройку.

Установка Docker

Если у вас еще не установлен Docker, вам нужно сделать это в первую очередь. Docker позволяет легко развертывать, тестировать и доставлять приложения в изолированных контейнерах. Для установки Docker следуйте официальным инструкциям по установке Docker.

Запуск контейнера Keycloak

После установки Docker, давайте запустим контейнер Keycloak. Мы будем использовать команду Docker run, чтобы запустить контейнер в фоновом режиме.

Вот команда запуска:

docker run -d \
  --name keycloak \
  -p 8080:8080 \
  -e KEYCLOAK_USER=admin \
  -e KEYCLOAK_PASSWORD=admin \
  quay.io/keycloak/keycloak:latest
  • -d запускает контейнер в фоновом режиме.
  • --name задает имя контейнера, в данном случае, "keycloak".
  • -p 8080:8080 связывает порт 8080 вашего компьютера с портом 8080 контейнера.
  • KEYCLOAK_USER и KEYCLOAK_PASSWORD устанавливают имя пользователя и пароль администратора.
  • quay.io/keycloak/keycloak:latest указывает Docker-образ, который будет использован.

Настройка Keycloak

После запуска контейнера, Keycloak будет доступен по адресу http://localhost:8080/auth. Откройте этот URL в своем браузере и войдите в систему, используя имя пользователя и пароль администратора, которые вы установили ранее.

Создание Realm в Keycloak

Keycloak организует пользователей в realms (домены), что позволяет вам отделять управление пользователями для различных приложений.

  1. Перейдите на панель управления Keycloak.
  2. Нажмите "Create Realm" и введите название нового realm.
  3. Сохраните изменения.

Настройка клиентов и пользователей

Теперь, когда realm создан, давайте добавим клиента и пользователей:

Добавление клиента

  1. В панели управления выберите ваш realm и перейдите в раздел "Clients".
  2. Нажмите "Create" и добавьте информацию о вашем клиенте, включая ID клиента и тип доступа.
  3. Сохраните изменения и настройте параметры клиента, если необходимо.

Добавление пользователя

  1. Перейдите в раздел "Users".
  2. Нажмите "Add User" и введите информацию о новом пользователе.
  3. Сохраните и назначьте роли или права этому пользователю, если это требуется.

Подключение социальных сетей

Keycloak позволяет интегрировать аутентификацию через социальные сети. Чтобы это настроить:

  1. Перейдите в раздел "Identity Providers" в вашем realm.
  2. Выберите социальную сеть из списка и введите необходимую информацию (например, ID приложения и секретный ключ).
  3. Сохраните настройки и протестируйте интеграцию.

Заключение

Установка и настройка Keycloak в Docker позволяет быстро и легко развернуть систему управления пользователями, которая может предложить множество функций для безопасности и аутентификации. Следуя этому руководству, вы должны были успешно развернуть Keycloak, создать realm, настроить клиентов и пользователей, а также наладить социальную аутентификацию.

Этот инструмент является мощным решением для централизованного управления доступом, которое можно быстро интегрировать в современные приложения. Использование Docker упрощает управление и развертывание, позволяя разработчикам сосредоточиться на создании дополнительных функций и улучшении пользовательского опыта.

Карта развития разработчика

Получите полную карту развития разработчика по всем направлениям: frontend, backend, devops, mobile