Интеграция Ktalk с Indeed AM
Автор Nikita Kim, Last modified by Nikita Kim на 11 октября 2024 04:29 PM

Продукты: Indeed AM

Затрагиваемые компоненты: ADFS Extension, IDP


Оглавление:

  1. Предварительные требования
  2. Интеграция Ktalk с ADFS Extension
  3. Интеграция Ktalk с IDP при помощи Keycloak

Предварительные требования:

  1. Установленный и настроенный Indeed AM.
  2. Установленный и настроенный сервер ADFS или Keycloak.
  3. Установленный и настроенный ADFS Extension или IDP.
  4. Развёрнутый сервер Ktalk OnPremise.

Интеграция Ktalk с ADFS Extension:

  1. Перейдите в ADFS, "Группы приложений", "Добавить группу приложений":


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




  3. В поле "Имя" возможно изменить имя приложения на любое удобное.
    Идентификатор клиента необходимо указать тот же, что был указан при развертывании Ktalk OnPremise.
    Redirect URI необходимо указать следующие:

    https://{your.server.name}/system/authorize
    https://{your.server.name}/static/assets/silent_renew.html



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



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

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

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



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



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



    Посмотреть атрибуты пользователя в AD можно, например, при помощи команды Powershell:

    Get-ADUser -Identity <SamAccountName> -Properties *

  10. Конфигурация OpenID находится по данному URL:

    https://{your.server.name}/adfs/.well-known/openid-configuration

  11. Измените конфигурацию 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}'

  12. Проверьте аутентификацию в сервис:

    1. Введите данные пользователя:



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


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



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

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




Интеграция Ktalk с IDP при помощи Keycloak:

  1. Создайте отдельный Realm для сервиса Ktalk:



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



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





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



  5. В 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



  6. Перейдите в Client Scopes:



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

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



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




  10. Конфигурация OpenID находится по данному URL:

    https://{your.server.name}/realms/{Realm}/.well-known/openid-configuration

  11. Измените конфигурацию 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}'

  12. Проверьте аутентификацию:

    1. При аутентификации выберите добавленный IDP:



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



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



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



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

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



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

Комментарии (0)
Портал технической поддержки компании Индид