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.
Натисніть Клієнти в меню, а потім натисніть Створити, щоб перейти на сторінку Додати клієнта. Заповніть поля наступним чином:
- Ідентифікатор клієнта:
http://localhost:8000/api/acs
- Це буде SP Entity ID, який використовується в налаштуваннях Casdoor пізніше. - Протокол клієнта:
saml
. - SAML Endpoint клієнта:
http://localhost:8000/api/acs
- Це URL, куди ви хочете, щоб сервер Keycloak надсилав запити та відповіді SAML. Зазвичай, додатки мають один URL для обробки запитів SAML. Кілька URL можна встановити на вкладці Налаштування клієнта.
Натисніть Зберегти. Ця дія створює клієнта і переводить вас на вкладку Налаштування.
Наступні є частиною налаштувань:
- Назва -
Casdoor
. Це використовується лише для відображення дружнього імені користувачам Keycloak в UI Keycloak. Ви можете використовувати будь-яке ім'я, яке вам подобається. - Активовано - Виберіть
on
. - Включити Authn Statement - Виберіть
on
. - Підписати документи - Виберіть
on
. - Підписати твердження - Виберіть
off
. - Шифрувати твердження - Виберіть
off
. - Необхідний підпис клієнта - Виберіть
off
. - Примусовий формат Name ID - Виберіть
on
. - Формат Name ID - Виберіть
username
. - Дійсні URI перенаправлення - Додати
http://localhost:8000/api/acs
. - Основний URL обробки SAML -
http://localhost:8000/api/acs
. - Детальна конфігурація SAML кінцевої точки
- URL обслуговування споживача тверджень POST Binding -
http://localhost:8000/api/acs
. - URL обслуговування споживача тверджень Redirect Binding -
http://localhost:8000/api/acs
.
- URL обслуговування споживача тверджень POST Binding -
Зберегти конфігурацію.
Якщо ви хочете підписати запит 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. Виберіть провайдера, якого ви щойно додали, та натисніть кнопку Зберегти.
Перевірити ефект
Перейдіть до додатку, який ви щойно налаштували, і ви знайдете іконку Keycloak на сторінці входу.
Натисніть на іконку, і вас перенаправить на сторінку входу Keycloak. Після успішної аутентифікації ви увійдете в Casdoor.