Настройка Keycloak SAML SSO

Узнайте, как настроить Keycloak для единого входа для Holst

Доступно для: тариф Бизнес, тариф Корпоративный
Необходимая роль: Администратор


Настройка Keycloak

1. Создайте или выберите группу пользователей (realm)

2. В разделе "Clients" нажмите "Create client"

3. В поле Client type нужно указать SAML, в поле Client ID нужно указать https://app.holst.so/gapi, далее нажимаем Next

4. В поле Valid redirect URIs устанавливаем значение https://app.holst.so/gapi/sso/saml, в поле Master SAML Processing URL устанавливаем https://app.holst.so/gapi/sso/saml, далее жмем Save

5. Прокручиваем открывшуюся страницу вниз к секции SAML capabilities, проставляем в поле Name ID format значение email, и включаем опцию Force Name ID format

6. Далее переходим к секции Signature and Encryption, выставляем опцию Sign documents (опционально), выставляем опцию Sign assertions (обязательно) и нажимаем кнопку Save

7. Далее переходим на вкладку Keys и выключаем опцию Client signature required

8. Теперь переходим на вкладку Client scopes и выбираем свой клиент, обычно в его имени есть Client ID как подстрока (в нашем случае это https://app.holst.so/gapi-dedicated)

9. Далее необходимо добавить мапперы, если в появившемся окне у вас нет уже добавленных мапперов, вам нужно нажать Configure a new mapper

Если же у вас уже есть мапперы, нужно нажать Add mapper > By configuration

10. В открывшемся окне нужно добавить маппер для имени пользователя в соответствующий SAML-атрибут, нажмите на User Attribute

11. В появившемся окне в поле Name ставим firstName, в поле User Attribute ставим firstName, в поле SAML Attribute Name ставим FirstName, далее жмем Save, и нажимаем на Dedicated scopes, чтобы вернуться к добавлению мапперов

12. Теперь аналогично шагам 9-11 добавляем аттрибут lastName, в поле Name ставим lastName, в поле User Attribute ставим lastName, в поле SAML Attribute Name ставим LastName

13. Для отображения аватарки пользователя необходимо также добавить маппер для аттрибута pictureUrl, он должен содержать URL на изображение, этот атрибут является опциональным

Настройка Holst

Перейдите в «Участники & Настройки» → «Единый вход (SSO)», где необходимо заполнить два поля SAML Sign-in URL и Key X509 Certificate

На странице с вашим realm откройте раздел Realm settings, прокрутите вниз и нажмите на SAML 2.0 Identity Provider Metadata 

Из открывшегося файла необходимо взять значение между тегами <ds:X509Certificate> и вставить его в поле Key X509 Certificate, не забудьте добавить -----BEGIN CERTIFICATE----- и -----END CERTIFICATE-----

Из тега <md:SingleSignOnService> с атрибутом Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" необходимо взять значение атрибута Location и вставить его в поле SAML Sign-in URL

Итоговый результат настройки Holst, не забудьте сохранить внесенные изменения 

Далее необходимо добавить и верифицировать домены, по которым будет происходить авторизация пользователей. Подробнее узнать об этом можно в статье «Управление доменами».

👆 На этом пока всё