- What is ibexa/user used for?
- ibexa/user is a Symfony bundle split from the Ibexa DXP monorepo that provides user management for Ibexa DXP and Ibexa Open Source. It handles accounts, profiles, registration, invitations, password reset, user settings, and avatar handling. It assumes an Ibexa kernel and content repository, so it is not a general-purpose PHP package.
- Can I use ibexa/user in a Laravel application?
- There is no realistic path for using ibexa/user in a Laravel application. It has no Laravel service provider, facade, published config, or Laravel-style migrations, and it is wired through Symfony's DI container plus Ibexa's content repository. Pulling it in requires ibexa/core and its transitive graph, which will collide with Laravel's container bootstrapping and migration ownership.
- How do I install ibexa/user?
- Install it with Composer, normally as a transitive dependency of an Ibexa DXP or Ibexa Open Source metapackage rather than as a standalone require. Directly requiring ibexa/user only makes sense inside an Ibexa kernel with bundle registration, configuration, and a compatible PHP/Symfony stack. There is no Laravel install path, published config, or migration set.
- What PHP and Symfony versions does ibexa/user require?
- The v5 line requires PHP 8.3 or later and Symfony 7.4 LTS; a parallel v4.6 line exists for older DXP major lines. Releases are versioned against Ibexa DXP majors, so platform upgrades, not your application's schedule, drive breaking changes. This also constrains which Laravel versions could theoretically coexist, though the integration itself remains impractical.
- What license does ibexa/user use, and can I use it commercially?
- It is dual-licensed under the Ibexa Business Use License v2.4 or later and GPLv2 with absolutely no warranty. The BUL path requires an active paid Ibexa DXP subscription, so the package is not simply free for commercial use. GPLv2 is copyleft, making counsel review mandatory before embedding it in a proprietary Laravel product.
- How do I configure registration form fields in ibexa/user?
- Use the bundle configuration key user_registration.form.allowed_field_definitions_identifiers, which is an allowlist of Ibexa content field definition identifiers. The registration form is tied to Ibexa's content repository and field type system, not Laravel validation or config files. You would configure this in an Ibexa application's Symfony bundle config.
- Does ibexa/user include invitations, password reset, and user settings?
- Yes. It provides an invitation model with find and refresh APIs, expiring invitation tokens with email validation, password reset and change flows, persisted user settings with access checks, avatar handling, and a CLI command to update users. Recent changelog fixes around access checks and password-change permissions show that authorization behavior in this area is still evolving.
- How do I test an ibexa/user integration?
- Meaningful tests require booting the Ibexa kernel with its content repository, Doctrine schema, search and field type infrastructure, permissions, and Twig pagelayout context. There are no Laravel test helpers or framework-agnostic contracts to mock against. For a Laravel evaluation, timebox a spike to about a day to confirm the container and migration conflicts rather than planning a sprint.
- What are Laravel-friendly alternatives to ibexa/user?
- For authentication and user management in Laravel, use Laravel Breeze, Jetstream, Fortify, Laravel UI, or a custom implementation with Laravel's built-in auth and Eloquent. If you need Ibexa-style domain patterns, borrow the invitation, token, and settings design rather than the code. There is no drop-in Ibexa user bundle for Laravel.
- Is ibexa/user actively maintained, and what broke in v5?
- Yes, it is actively maintained and shipped as part of commercial Ibexa DXP, despite low stars and dependents because it is consumed transitively through ibexa metapackages. v5.0.0 was a hard breaking release: deprecated Twig functions and filters were dropped, class_alias backward-compatibility layers and BackwardCompatibleCommand were removed, PHP minimum rose to 8.3, and Symfony was baselined at 7.3 then bumped to 7.4 LTS. Expect breaking changes on the platform's cadence, not yours.