Перейти до основного вмісту

Keycloak

Система JBoss Keycloak є широко використовуваною та відкритою системою управління ідентичністю, яка підтримує інтеграцію з додатками через SAML та OpenID Connect. Вона також може виступати як брокер ідентичності між іншими провайдерами, такими як LDAP або інші SAML провайдери, та додатками, які підтримують SAML або OpenID Connect.

Ось приклад того, як налаштувати новий запис клієнта в Keycloak та налаштувати Casdoor для його використання, щоб дозволити вхід в UI користувачам Keycloak, яким надано доступ через конфігурацію Keycloak.

Налаштувати Keycloak

Для цього прикладу давайте зробимо такі вибори конфігурації та припущення:

  • Припустимо, що ви запускаєте Casdoor в локальному режимі розробки. UI Casdoor доступний за адресою http://localhost:7001, а сервер доступний за адресою http://localhost:8000. Замініть на відповідний URL за потреби.
  • Припустимо, що ви запускаєте Keycloak локально. UI Keycloak доступний за адресою http://localhost:8080/auth.
  • На основі цього, SP ACS URL для цього розгортання буде: http://localhost:8000/api/acs.
  • Наш SP Entity ID буде використовувати той самий URL: http://localhost:8000/api/acs.

Ви можете використовувати стандартне королівство або створити нове.

Додати королівство Keycloak

Королівство Keycloak

Додати запис клієнта в Keycloak

інформація

Для отримання додаткової інформації про клієнтів Keycloak, зверніться до документації Keycloak.

Натисніть Клієнти в меню, а потім натисніть Створити, щоб перейти на сторінку Додати клієнта. Заповніть поля наступним чином:

  • Ідентифікатор клієнта: http://localhost:8000/api/acs - Це буде SP Entity ID, який використовується в налаштуваннях Casdoor пізніше.
  • Протокол клієнта: saml.
  • SAML Endpoint клієнта: http://localhost:8000/api/acs - Це URL, куди ви хочете, щоб сервер Keycloak надсилав запити та відповіді SAML. Зазвичай, додатки мають один URL для обробки запитів SAML. Кілька URL можна встановити на вкладці Налаштування клієнта.

Додати клієнта Keycloak

Натисніть Зберегти. Ця дія створює клієнта і переводить вас на вкладку Налаштування.

Наступні є частиною налаштувань:

  1. Назва - Casdoor. Це використовується лише для відображення дружнього імені користувачам Keycloak в UI Keycloak. Ви можете використовувати будь-яке ім'я, яке вам подобається.
  2. Активовано - Виберіть on.
  3. Включити Authn Statement - Виберіть on.
  4. Підписати документи - Виберіть on.
  5. Підписати твердження - Виберіть off.
  6. Шифрувати твердження - Виберіть off.
  7. Необхідний підпис клієнта - Виберіть off.
  8. Примусовий формат Name ID - Виберіть on.
  9. Формат Name ID - Виберіть username.
  10. Дійсні URI перенаправлення - Додати http://localhost:8000/api/acs.
  11. Основний URL обробки SAML - http://localhost:8000/api/acs.
  12. Детальна конфігурація SAML кінцевої точки
    1. URL обслуговування споживача тверджень POST Binding - http://localhost:8000/api/acs.
    2. URL обслуговування споживача тверджень Redirect Binding - http://localhost:8000/api/acs.

Зберегти конфігурацію.

Налаштувати клієнта Keycloak

порада

Якщо ви хочете підписати запит authn, вам потрібно активувати опцію Необхідний підпис клієнта та завантажити сертифікат, який ви згенерували самостійно. Приватний ключ та сертифікат, які використовуються в Casdoor, token_jwt_key.key та token_jwt_key.pem, розташовані в директорії object. У Keycloak вам потрібно натиснути вкладку Ключі, натиснути кнопку Імпорт, вибрати Формат архіву як Сертифікат PEM та завантажити сертифікат.

Натисніть вкладку Встановлення.

Для Keycloak <= 5.0.0, виберіть опцію формату - SAML Metadata IDPSSODescriptor та скопіюйте метадані.

Для Keycloak 6.0.0+, виберіть опцію формату - Файли Mod Auth Mellon та натисніть Завантажити. Розпакуйте завантажений .zip, знайдіть idp-metadata.xml та скопіюйте метадані.

Завантажити метадані

Скопіювати метадані

Налаштувати в Casdoor

Створити нового провайдера в Casdoor.

Виберіть категорію як SAML, тип як Keycloak. Скопіюйте вміст метаданих та вставте його у поле Метадані. Значення Кінцева точка, IdP та URL видачі будуть згенеровані автоматично після натискання кнопки Розібрати. Нарешті, натисніть кнопку Зберегти.

порада

Якщо ви активуєте опцію Необхідний підпис клієнта в Keycloak та завантажите сертифікат, будь ласка, активуйте опцію Підписати запит в Casdoor.

Провайдер Casdoor

Редагувати додаток, який ви хочете налаштувати в Casdoor. Виберіть провайдера, якого ви щойно додали, та натисніть кнопку Зберегти.

Додати провайдера для додатку

Перевірити ефект

Перейдіть до додатку, який ви щойно налаштували, і ви знайдете іконку Keycloak на сторінці входу.

Натисніть на іконку, і вас перенаправить на сторінку входу Keycloak. Після успішної аутентифікації ви увійдете в Casdoor.

Вхід в Casdoor