Indeed SAML IDP + Nextcloud (до версии 8.1.4 включительно)
Автор Maksim Efanov, Last modified by Kirill Osipov на 24 мая 2024 10:41 AM

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

  • Установленный и настроенный Indeed SAML IdP (версия 8.0.1 - 8.1.4) (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. Переходим в настройки - администрирование - SSO & SAML authentication.
  3. Включаем пункт: "Allow the use of multiple user back-ends (e.g. LDAP)", иначе можно потерять доступ к Nextcloud, в случае ошибки настройки.
  4. Добавляем новый провайдер аутентификации:

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

  6. Далее указываем параметры 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

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

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

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

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

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