Indeed SAML IDP + Nextcloud
Автор Maksim Efanov, Last modified by Vladislav Fomichev на 13 ноября 2023 04:11 PM

Предусловия:

  • Установленный и настроенный Indeed SAML IdP (версия 8.0.1 и выше) (https://confluence.indeed-id.com/display/IAM8D/Indeed+AM+SAML+IDP)
  • Установленный и настроенный Nextcloud.
  • Установленные сертификаты для https подключения на Indeed SAML IdP и Nextcloud.
  • Выданные следующие DNS имена
    Nextcloud: NextCloud.iid.local
    Indeed SAML: dc.iid.local

Примечание: В Nextcloud есть основное уникальное поле пользователя (по умолчанию UID), в данном примере будет использоваться UPN.

Настройка Nextcloud

  1. Переходим в настройки - администрирование - SSO & SAML authentication.
  2. Включаем пункт: "Allow the use of multiple user back-ends (e.g. LDAP)", иначе можно потерять доступ к Nextcloud, в случае ошибки настройки.
  3. Добавляем новый провайдер аутентификации:

  4. В появившихся полях указываем:
    UID - имя поля, которое будет обязательным, и чей поиск будет выполняться в ответе от Indeed SAML IdP (название может быть произвольным).
    IndeedSAMLidP - название провайдера, которое будет отображаться на странице входа в Nextcloud в виде кнопки (может быть произвольным).

  5. Далее указываем параметры Indeed SAML Idp:

    urn:indeedid:saml_idp - имя Indeed SAML idp (по умолчанию)
    https://dc.iid.local/iidsamlidp/Account/SsoService - адрес страницы входа для SAML идентификации
    https://dc.iid.local/iidsamlidp/Account/Logout - страница выхода SAML, если требуется перенаправление на страницу входа Nextcloud, то указываем её (в данном случае это может быть https://nextcloud.iid.local/)
    Public x509 certificate of the idP - указывается открытый ключ сертификата SAML idP.
    Получить его можно с помощью конвертирования сертификата SAML через Openssl: openssl x509 -inform DER -in saml.cer -out saml.crt

  6. Маппинг атрибутов:
     

    Если требуется, то SAML idP может передать дополнительные параметры для аутентификации пользователя (например, если пользователя еще нет в Nextcloud, то при успешном входе через SAML, эти параметры будут использованы для создания его профиля).

    В данном случае мы можем указать UPN имя в email, и передать Name, для маппинга в displayname.

  7. Остальные настройки пока оставляем без изменений.

    Если Metadata valid, то скачиваем метаданные, и открываем: