Настройка NextCloud + OIDC
Автор Denis Dmitriev, Last modified by Mariya Vorozhba на 22 февраля 2024 10:49 PM
|
Продукты: Indeed AM Раздел: Руководства
Описание: Настройка NextCloud + OIDC
Предусловия:
- Установленный и настроенный Indeed AM IDP.
- Установленные сертификаты для https подключения на Indeed AM IDP и Nextcloud.
- Установленный и настроенный Nextcloud
- Проверить доверие между Nextcloud и indeedam:
curl https://indeedam.indeed.local/am/idp/.well-known/openid-configuration curl https://nextcloud.indeed.local
Настройка NextCloud:
- Переходим в раздел "Приложения" и устанавливаем "OpenID Connect user backend".
- Переходим в раздел "Параметры сервера" - "OpenID Connect" - выбираем "Registered Providers".
- В появившихся полях указываем:
Identifier - название для кнопки входа в Nextcloud. Client id - идентификатор клиента. Client secret - секрет клиента. Discovery endpoint - адрес конфигурации OIDC indeed. Scope - openid. Extra claims - sub. User ID mapping - sub. Остальные параметры не потребуются.

- Для настройки корректного выхода нужно добавить в конфигурационный файл nextcloud config.php блок:
'user_oidc' => [
'single_logout' => false,
],
Настройка Indeed IDP:
- Переходим в каталог "C:\inetpub\wwwroot\am\idp" и открываем конфигурационный файл "app-settings.json".
- Находим блок "OIDC", указываем отпечаток сертификата idp в параметре "CertificateThumbprint".
- Копируем блок с примером конфигурации:
{
"ClientId": "example-client",
"ClientSecret": "secret_secret_secret",
"DisplayName": "Example client application",
"Permissions": [
"ept:authorization",
"ept:device",
"ept:introspection",
"ept:logout",
"ept:revocation",
"ept:token",
"gt:authorization_code",
"gt:client_credentials",
"gt:urn:ietf:params:oauth:grant-type:device_code",
"gt:implicit",
"gt:password",
"gt:refresh_token",
"rst:code",
"rst:code id_token",
"rst:code id_token token",
"rst:code token",
"rst:id_token",
"rst:id_token token",
"rst:none",
"rst:token",
"scp:address",
"scp:email",
"scp:phone",
"scp:profile",
"scp:roles"
],
"PostLogoutRedirectUris": [
"https://localhost:5003/signout-callback-oidc"
],
"RedirectUris": [
"https://localhost:5003/signin-oidc"
],
"Requirements": [
"ft:pkce"
]
}
- Вставляем его ниже, не забываем поставить между блоками запятую.
Значение ClientId и ClientSecret меняем на указанные в NextCloud. Значение RedirectUris меняем на указанное в Nextcloud:
 В блоке "Requirements" убираем параметр "ft:pkce". После этого сохраняем файл "app-settings.json".
- Открываем IIS, Пулы приложений, выбираем IndeedAM.IDP, Перезапуск:

- Пробуем подключиться к Nextcloud, в окне логина появится дополнительная кнопка с названием указанного в Nextcloud identifier, нажимаем ее без ввода логина и пароля.

- Происходит перенаправление на страницу Indeed IDP, где мы вводим имя пользователя, выбираем способ аутентификации и входим в Nextcloud.
|
(7 голос(а))
Эта статья полезна Эта статья бесполезна
|