Nextcloud — вход через Zentro
Приложение Nextcloud OpenID Connect user backend (user_oidc): Приложения → Безопасность → установить.
1. Приложение в Zentro
Заголовок раздела «1. Приложение в Zentro»redirect_uris: https://cloud.example.com/index.php/apps/user_oidc/code (без index.php, если включены
«красивые» адреса — https://cloud.example.com/apps/user_oidc/code), scopes openid email profile,
permission_namespace: "NEXTCLOUD" — если группы Nextcloud назначать правами Zentro. См. README.
2. Провайдер в Nextcloud
Заголовок раздела «2. Провайдер в Nextcloud»sudo -u www-data php occ user_oidc:provider Zentro \ --clientid="<client_id>" --clientsecret="<client_secret>" \ --discoveryuri="https://id.example.com/.well-known/openid-configuration" \ --scope="openid email profile" \ --unique-uid=0 --mapping-uid=preferred_username \ --mapping-display-name=preferred_username --mapping-email=emailили Настройки администратора → OpenID Connect → «Зарегистрировать нового провайдера» с теми же значениями.
Полный список ключей вашей версии — occ user_oidc:provider --help.
--unique-uid=0+--mapping-uid=preferred_username— пользователь в Nextcloud получает логин Zentro (а не хеш). Логин в Zentro можно сменить — при смене появится новый пользователь Nextcloud; если логины меняются, оставьте--unique-uid=1(идентификатор поsub).- PKCE
user_oidcвключает сам.
3. Группы по правам Zentro
Заголовок раздела «3. Группы по правам Zentro»Включите выдачу групп из claim и укажите claim с правами:
sudo -u www-data php occ user_oidc:provider Zentro --group-provisioning=1 --mapping-groups=permissionsГруппы Nextcloud появятся с именами прав (NEXTCLOUD:*:ADMIN …); администраторов назначьте группе
NEXTCLOUD:*:ADMIN в Nextcloud. Ограничить набор групп — --group-whitelist-regex='/^NEXTCLOUD:/'.
Проверка
Заголовок раздела «Проверка»Выйти из Nextcloud → «Вход через Zentro» на странице входа. Ошибка «redirect_uri» — адрес в Zentro не совпадает
с тем, что отправляет Nextcloud (с index.php или без).