dreamfactory/df-user
DreamFactory's df-user package provides user account and authentication management for PHP/Laravel applications, with APIs for profiles, roles, and access control to help integrate secure user handling into DreamFactory-based projects.
Architecture fit. dreamfactory/df-user is a module inside the DreamFactory platform’s package family (alongside df-core, df-system, df-api-docs). Its responsibility is identity: user records, roles, API key issuance, and the session/token surfaces the platform’s API layer depends on. It is not a general-purpose “add auth to my Laravel app” library. It assumes the DreamFactory runtime — service provider registration, platform config namespacing, its migration set, its RBAC conventions, and the admin UI/API surface around it. Fit is strong inside DreamFactory and poor outside it.
Integration feasibility. Two very different answers depending on posture. If we deploy the DreamFactory distribution, feasibility is essentially “install the release set and migrate” — we inherit user, role, and key management as a supported feature. If we try to vendor only df-user into a bespoke Laravel application, feasibility is low: we would be transplanting a subsystem whose contracts point at df-core abstractions, and we would own those seams permanently with no upstream help.
Technical risk.
Key questions.
df-user supported for standalone consumption, or only as part of the DreamFactory distribution?Stack fit. Strong if we standardize on DreamFactory as the governed API layer in front of our data sources: Laravel/PHP, Apache-2.0, self-hosted, RBAC plus API keys, and a credible story for LLM-facing endpoint governance. Weak if we treat it as a component library to cherry-pick.
Migration path. Three options, one recommended.
df-user arrives as part of the release set. The work is a platform migration (identity provisioning, role mapping, key issuance policy), not a code integration.Compatibility. Pin the entire df-* set to a single tagged release; do not permit independent version floats. Verify declared PHP and Laravel constraints against our runtime before committing, and confirm database engine parity (MySQL/Postgres). Confirm migrations are additive and non-destructive against existing identity tables.
Sequencing.
df-user in non-production; validate admin flows, role assignment, and API key issuance end to end.Maintenance. Vendor-driven releases on the DreamFactory cadence. Our obligations: track the release set, test upgrades in staging, and own the identity data itself. Expect to read source for undocumented behavior. Fund a standing “platform upgrade” line item rather than treating upgrades as ad hoc.
Support. Apache-2.0 gives us the legal right to fork and patch — that is the real safety net. Commercial support is available through DreamFactory; verify current terms and SLA before depending on it. Community support is thin: 0 dependents means almost no peer experience to draw on. Route questions to issues on the parent platform repo, not the package repo.
Scaling. Identity data itself scales modestly. The hot path is per-request API key and role resolution. Index the key lookup, cache permission resolution with a short TTL and explicit invalidation on role change, and keep the auth path stateless for horizontal scaling. Measure key-lookup latency under load before it becomes the p99.
Failure modes.
df-user independently of the set.Ramp-up. Engineers need DreamFactory platform literacy — its service layer, RBAC model, and admin surface — not just Laravel. Plan for a senior engineer to spend real time in df-core source. Onboarding cost is platform-shaped: acceptable at scale, painful for a one-off integration. Assign one named owner for the platform dependency and write an upgrade runbook before first production use.
How can I help you explore Laravel packages today?