20
Jan. 7, 2025, 8:30 p.m.
Авторизация в Nextcloud через OpenID
Задача: для существующего пользователя добавить возможность авторизации через keycloak.
Нужно установить приложение OpenID Connect Login
В config.php
добавить строки:
<?php
$CONFIG = array (
<...>
'oidc_login_client_id' => '<client-id>',
'oidc_login_client_secret' => '<client-secret>',
'oidc_login_provider_url' => 'https://keycloak.example.com/realms/<ваш realm>',
'oidc_login_end_session_redirect' => false, # если оставить true тогда при выходе будет ошибка.
'oidc_login_logout_url' => 'https://keycloak.example.com/realms/<ваш realm>/protocol/openid-connect/logout',
'oidc_login_auto_redirect' => false, # если исользуется как единственный вариант авторизации тогда нужно true
'oidc_login_redir_fallback' => true,
'oidc_login_disable_registration' => true, # отключает регистрацию если пользователя не существует в БД nextcloud
'oidc_login_attributes' => array(
'id' => 'preferred_username', # должно совпадать с существующим пользователем чтобы осуществить безшевную миграцию.
'mail' => 'email',
'name' => 'name',
),
'auth.webauthn.enabled' => false, # отключение параметра входа "по ключу"
'hide_login_form' => false, # указать true для отключения формы логина и пароля
<...>
);