Skip to content
These are the docs for the next, unreleased version. The current one is 0.8. Switch →

Nextcloud — вход через Zentro

This content is not available in your language yet.

Приложение Nextcloud OpenID Connect user backend (user_oidc): Приложения → Безопасность → установить.

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.

Окно терминала
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 включает сам.

Включите выдачу групп из 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 или без).