Интеграция Ktalk с Indeed AM
Автор Nikita Kim, Last modified by Nikita Kim на 11 октября 2024 04:29 PM
|
Продукты: Indeed AM
Затрагиваемые компоненты: ADFS Extension, IDP
Оглавление:
- Предварительные требования
- Интеграция Ktalk с ADFS Extension
- Интеграция Ktalk с IDP при помощи Keycloak
Предварительные требования:
- Установленный и настроенный Indeed AM.
- Установленный и настроенный сервер ADFS или Keycloak.
- Установленный и настроенный ADFS Extension или IDP.
- Развёрнутый сервер Ktalk OnPremise.
Интеграция Ktalk с ADFS Extension:
- Перейдите в ADFS, "Группы приложений", "Добавить группу приложений":

- В Мастере добавления групп приложений, в поле "Имя" введите имя приложения, например "Ktalk":
В поле "Шаблон", следует выбрать "Веб-браузер, подключающийся к веб-приложению".

- В поле "Имя" возможно изменить имя приложения на любое удобное.
Идентификатор клиента необходимо указать тот же, что был указан при развертывании Ktalk OnPremise. Redirect URI необходимо указать следующие:
https://{your.server.name}/system/authorize https://{your.server.name}/static/assets/silent_renew.html

- Выберите политику "Разрешение для каждого и запрос MFA". В остальных шагах нажмите "Далее".

- Перейдите в свойства группы приложений:

- В свойствах выберите Веб-приложение и нажмите "Изменить":

- Выберите пункт "Правила преобразования выдачи". Добавьте новое правило:

- Выберите шаблон "Отправка атрибутов LDAP как утверждений".

- Настройте атрибуты для передачи. Например, как на скриншоте:

Посмотреть атрибуты пользователя в AD можно, например, при помощи команды Powershell:
Get-ADUser -Identity <SamAccountName> -Properties *
- Конфигурация OpenID находится по данному URL:
https://{your.server.name}/adfs/.well-known/openid-configuration

- Измените конфигурацию OpenID сервиса ktalk. Пример команды curl для конфигурации из примера для ADFS:
curl -X PUT https://{your.server.name}/api/domain/authinfo --header 'X-Auth-Token: TOKEN' --header 'Content-Type: application/json' --data-raw '{"claimsMap":{"email":"email","key":"sid","name":"name","login":"sub","phone":"phone_number"},"authority":"https://{your.server.name}/adfs/","type":"openIdConnect","oidcAuthority":"/api/authorize/oidc","oidcClientId":"ktalk","oidcScope":"profile email","oidcResponseType":"token id_token","useBrowserAppAuth":true}'
- Проверьте аутентификацию в сервис:
- Введите данные пользователя:

- Аутентифицируйтесь при помощи настроенного метода аутентификации:

- После прохождения аутентификации проверьте доступ в сервис:

- После успешной аутентификации в аудите появиться событие с кодом 1000:

- В приложении процесс аутентификации происходит при помощи браузера:


Интеграция Ktalk с IDP при помощи Keycloak:
- Создайте отдельный Realm для сервиса Ktalk:

- Перейдите в созданный Realm. Затем перейдите в настройку Identity Providers. Настройте интеграцию с Indeed IDP по SAML или OIDC.

- Перейдите в блок Clients и создайте Client для Ktalk. В параметре Client ID необходимо добавить идентификатор клиента, настроенный во время развёртывания ktalk on-premise, или создать уникальный.:


- Настройте авторизацию для клиента. Сервис использует Implict Flow:

- В Access Settings добавьте следующие RedirectURL и PostLogoutURL:
https://{your.server.name}/system/authorize https://{your.server.name}/static/assets/silent_renew.html https://{your.server.name}/system/logout

- Перейдите в Client Scopes:

- Выберите Client Scope созданного клиента:

- Нажмите Add Mapper и добавьте атрибуты, которые Keycloak передаст в Ktalk, например, как на скриншоте:

- В настройках атрибута возможно указать имя атрибута, которое будет передано в SP:

- Конфигурация OpenID находится по данному URL:
https://{your.server.name}/realms/{Realm}/.well-known/openid-configuration

- Измените конфигурацию OpenID сервиса ktalk. Пример команды curl для конфигурации из примера для Keycloak:
curl -X PUT https://{your.server.name}/api/domain/authinfo --header 'X-Auth-Token: TOKEN' --header 'Content-Type: application/json' --data-raw '{"claimsMap":{"email":"email","key":"sid","name":"name","login":"sub","phone":"phone"},"authority":"https://{your.server.name}/realms/{RealmName}/","type":"openIdConnect","oidcAuthority":"/api/authorize/oidc","oidcClientId":"ktalk","oidcScope":"profile email","oidcResponseType":"token id_token","useBrowserAppAuth":true}'
- Проверьте аутентификацию:
- При аутентификации выберите добавленный IDP:

- Введите имя пользователя:

- Выберите метод аутентификации:

- После прохождения аутентификации, проверьте доступ к сервису:

- После успешной аутентификации в аудите появяться события с кодом 1000 и 1070:

- В приложении процесс аутентификации происходит при помощи браузера:


|
(1 голос(а))
Эта статья полезна Эта статья бесполезна
|