smartassert/users-security-bundle
Symfony bundle for adding user security to your application, offering a foundation for authentication, user management, and related security services. It provides reusable components and integration points to implement protected user flows with less boilerplate and configuration.
users tables. That decision should be made deliberately — it affects data residency, migration paths, and every downstream service that needs to resolve a user.Consider it when:
*Bundle, service-container integration); 12.0 hard-requires symfony 8.0, which means it is now install-adjacent to nothing else. A current Laravel app pins Symfony 7.x components, so Composer will refuse the combination outright. Laravel teams should treat it as a reference implementation, not a dependency — and this release removes the last ambiguity.Look elsewhere when:
symfony/security-bundle plus league/oauth2-client or an OIDC provider covers standard cases with orders of magnitude more community validation.Evidence caveats: 12.0 is a positive maintenance signal — a maintainer who ships a Symfony 8 compatibility release within the ecosystem's normal window is at least awake. But a single dependency bump is not a security process, a disclosure policy, or a support commitment, and it adds no users. Read it as "maintained by one person," not "supported." Stars and dependents remain proxies for support risk, not code quality.
For executives (one paragraph): This is a free, permissively licensed connector that saves us a few weeks of plumbing if we standardize user identity on SmartAssert's users service. The strategic question is not the bundle — it is whether we want a small vendor holding our user records. The latest release raises the entry price slightly: it now targets Symfony 8, so it only fits teams already on or moving to that version, and it ties our framework upgrade timing to a one-person project. The bundle itself is low-cost to trial and low-cost to discard, provided we insist on an abstraction layer so identity can be swapped without a rewrite. It is not a platform bet, and it will not satisfy enterprise security review on its own.
For engineering (the ask): The 12.0 release answers one of our three spike questions and sharpens another. It confirms the supported framework floor (Symfony 8.0) but leaves the supported range open — so treat checking 11.x's support status as part of the spike, not an assumption. Before any code, confirm: (1) which Symfony majors 11.x and 12.x each cover, and whether 11.x still gets security patches after this bump; (2) how tokens are issued, validated, and revoked — unchanged by this release and still unverified; (3) what happens to our data if we walk away. Then timebox a one-to-two-week spike against a non-critical Symfony 8 service only. Wire it behind our own IdentityProvider interface from day one — do not let bundle classes leak into domain code. If we are not on Symfony 8, do not start; park this until we are.
Recommended posture: Evaluate, do not adopt as a standard. 12.0 improves the maintenance signal and worsens the coupling: we now inherit the maintainer's Symfony-major cadence as our own. Low maturity plus vendor coupling plus framework-version coupling means the correct decision today remains a contained proof of concept with an explicit exit path, revisited if the SmartAssert users service becomes a house platform.
How can I help you explore Laravel packages today?