понедельник, 25 января 2021 г.

Nextcloud SSO ADFS

Исходные данные:

Active Directory имя test.local

AD FS сервер adfs.test.local


Сервер nextcloud https://next.test.local

включены модули: LDAP, SSO

Использованы:

https://www.virtualease.fr/nextcloud-authentication-active-directory-sso-via-adfs-saml/

https://rephlex.de/blog/2018/04/05/how-to-connect-nextcloud-to-active-directory-using-ad-fs-without-losing-your-mind/


1. Настраиваем модуль LDAP.






2. Разворачиваем AD FS

Включаем

Service - Authentication Methods 

блоки Intranet - Extranet

Microsoft Passport Authentication




3. Открываем настройку SSO на nextcloud

Заполняем поля:

General

sAMAccountName


Identity Provider Data

http://adfs.test.local/adfs/services/trust   

Эту ссылку можно посмотреть в свойствах AD FS (Federation Service Properties)




https://adfs.test.local/adfs/ls/IdPInitiatedSignon


Show optional Identity Provider settings ...

Добавляем сертификат.

Его берем с AD FS.


Просмотр - Состав - Копировать в файл (Base-64)





Открываем в тестовом редакторе этот файл, например Notepad++

Вставляем сертификат в nextcloud





4. Download metadata XML

Забираем файл на AD FS



5. Импортируем XML


на русском



на русском


на русском



на русском



на русском



на русском



Проверим свойствах


на русском



на русском




6. Изменить политику подач запроса (Edit Claim Issuance Policy)


SAM-Account-Name - sAMAccountName

Surname - Surname

Given-Name - Given Name

E-Mail-Addresses - E-mail Address

Display-Name - Common Name



на русском



на русском



на русском



на русском



на русском



7. В Internet Explorer добавить сайт adfs.test.local в Местная интрасеть.

И включить "Автоматический вход в сеть с текущим именем пользователя"


8. Для того, чтобы и в Chrome был автоматический вход, нужно на AD FS добавить user-agent

В Powershell на Ad FS сервере:

Get-ADFSProperties | Select -ExpandProperty WIASupportedUserAgents

Добавляем user-agent

Set-AdfsProperties -WIASupportedUserAgents ((Get-ADFSProperties | Select -ExpandProperty WIASupportedUserAgents) + "Chrome" + "Mozilla/5.0")

перзапускаем службу AD FS

Restart-Service adfssrv


После настроен при подключении к nextcloud и нажатии "Вход через SSO и SAML" пользователь будет авторизоваться автоматически.